From 822dbae850dee860850b4bf8bd81c589b04c8496 Mon Sep 17 00:00:00 2001 From: c0j0s Date: Thu, 9 Feb 2023 23:06:42 +0800 Subject: [PATCH 001/470] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 13f5c77403f..19f25356e89 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +# Duke Driver + [![CI Status](https://github.com/se-edu/addressbook-level3/workflows/Java%20CI/badge.svg)](https://github.com/se-edu/addressbook-level3/actions) ![Ui](docs/images/Ui.png) From cc2d4f73aaa04bd9b3d9abdd7b479713bcb210ea Mon Sep 17 00:00:00 2001 From: COJOS Date: Thu, 9 Feb 2023 23:19:23 +0800 Subject: [PATCH 002/470] Add Java.gitignore --- .gitignore | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.gitignore b/.gitignore index 71c9194e8bd..1d281bbd63b 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,28 @@ src/test/data/sandbox/ # MacOS custom attributes files created by Finder .DS_Store docs/_site/ + +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* +replay_pid* From ab0fef5e6042dc6cd5d5f30a5b8060810ee296d0 Mon Sep 17 00:00:00 2001 From: COJOS Date: Wed, 15 Feb 2023 01:34:27 +0800 Subject: [PATCH 003/470] Update .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 1d281bbd63b..6c09a1dccb4 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,7 @@ src/test/data/sandbox/ docs/_site/ # Compiled class file +/bin/ *.class # Log file From c76405f026e48bb232fee5cbd4d8ca1196fd8b51 Mon Sep 17 00:00:00 2001 From: c0j0s Date: Mon, 20 Feb 2023 23:46:22 +0800 Subject: [PATCH 004/470] Add developer profile --- docs/images/c0j0s.png | Bin 0 -> 271029 bytes docs/team/c0j0s.md | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 docs/images/c0j0s.png create mode 100644 docs/team/c0j0s.md diff --git a/docs/images/c0j0s.png b/docs/images/c0j0s.png new file mode 100644 index 0000000000000000000000000000000000000000..28b4474c57f6965dbb6f11e61f72dec7f6139fd9 GIT binary patch literal 271029 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≺O= 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%0DTZQ^hD3dt%0ze84^wB| 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 z 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܏~TKD)l77?%pQ8^rhdx-~07n!@bRWIC8%~`H{Dh|VoNt|2?1OLLv9iBSq_vd%I$JK#mYH_Inqtb!hXv4Ib(Orga zm0*=>FbgFivL$JPB=q2UeS}UIfpY|;4oXE0&AArlPOM<@%vmg-K8yC!3D~8&N;ONE zSH^JxUGCdio}d5#0PsmfK~$)(DAi2|=3xWiW995(~6TaEmF z2?*>`*)ZG7Gy2+@Q`*Ukk6>nb6{Ttips7n{WofEqaZG$qk|c?vEK33{$=oc}#%Y)g zvsCM*X>yzb2Wh75XBqa=RNK>aec#j5<3`x-&t8H%ooRpXUQ5$=_VBI1{|}o#nKO*f RoCW{@002ovPDHLkV1i`3b?^WH literal 0 HcmV?d00001 diff --git a/docs/team/c0j0s.md b/docs/team/c0j0s.md new file mode 100644 index 00000000000..67acdfbc43b --- /dev/null +++ b/docs/team/c0j0s.md @@ -0,0 +1,36 @@ +--- +layout: page +title: c0j0s's Project Portfolio Page +--- + +### Project: Duke Driver + +Duke Driver - a delivery tasking and planning application used by delivery personnel from DUKE pte ltd. Duke Driver provides bulk management and personalised job listing for drivers. Moreover, Duke Driver generates the most optimal delivery routes to save time and cost. The user can interact with it using both CLI and GUI. The GUI is created with JavaFX. It is written in Java and has about 10 kLoC. + +Given below are my contributions to the project. + +* **New Feature**: + +* **New Feature**: + +* **Code contributed**: [RepoSense link]() + +* **Project management**: + * Setup team repo and project dashboard. + +* **Enhancements to existing features**: + * + +* **Documentation**: + * User Guide: + * Added documentation for the delivery tasking management system features `view` and `add`. + * Developer Guide: + * + +* **Community**: + * + +* **Tools**: + * + +* _{you can add/remove categories in the list above}_ From a50b495d04158037c8615ed5a21e791ccf0bf646 Mon Sep 17 00:00:00 2001 From: Jun An <30628325+ChinJunAn@users.noreply.github.com> Date: Tue, 21 Feb 2023 20:46:59 +0800 Subject: [PATCH 005/470] Update AboutUs.md --- docs/AboutUs.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 1c9514e966a..4477c8f39d2 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -9,15 +9,13 @@ You can reach us at the email `seer[at]comp.nus.edu.sg` ## Project team -### John Doe +### Chin Jun An - + -[[homepage](http://www.comp.nus.edu.sg/~damithch)] -[[github](https://github.com/johndoe)] -[[portfolio](team/johndoe.md)] +[[github](https://github.com/ChinJunAn)] -* Role: Project Advisor +* Role: Developer ### Jane Doe From 24f3fe01b99c7b89b51f0af2a6888855a94961d8 Mon Sep 17 00:00:00 2001 From: ChinJunAn Date: Tue, 21 Feb 2023 20:51:11 +0800 Subject: [PATCH 006/470] Add Jun An's profile picture --- docs/images/chinjunan.png | Bin 0 -> 955254 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/images/chinjunan.png diff --git a/docs/images/chinjunan.png b/docs/images/chinjunan.png new file mode 100644 index 0000000000000000000000000000000000000000..445d29f7d61c07f4cc4b8d92ad5b246e1d49aad7 GIT binary patch literal 955254 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

ZG{=afIti8A{=(|_O2)ui!TXV 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 BXW6gzcHLXmu*F})$S5T%(jhUK?H?JUwfD$Sp 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 p{tXeijfTs$?drZPOKbZ; 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 { zbQTjKD1%kS%xXx4%-OP+tS#lRB9)RiU75Le3&wUP6+|FbaJ=#!h@^U_oNOBh0S3ki zG@rxpH^vudt?X<+6H!b=#|1PZb^?+0=JPyi$ByBp_pas@Vo(8*WrN4i1!}re->vQF z4Sln=X9UY=w#=)qYH#A$0FA65caJnhH?jhjLPQY^&z`+uA}UA}Y#M2X0QMkUdJr}c z2qcD2_6giGbkQ+nwgE(r0`ZvU)4j`iH~>=yaUe%PEi{p#s&xp`P8#j(7!guLR*ry` zNWEh&A%*nt3{w0P8s~C1b65%?aF4NYcRD{Cv*jN^pOii*%pIEBIL4!9Mm`dHLgeg2 z7;)C3jo`__6iB2$AAiSAl0HKSb%_9FKRMciMN1qM-B3}ui)CDS^r0~d=&;SjJyY)K zpnT}eU}pi`h{w@LJWA#=Tk6n#9Qa4kJW82kvzoT4H+_UJxG{HY3Qn|UW@3-RQi$a! zplNJ`G~<{;uo9qkb|4N?l2sSO1O$uWC4^Dgt2r~?^JP)+rqEz#IRe<1(k*vKw`OLU zN1q&e8^TV^nsS0HGC6s8Cj-eQ(yfnH{SK%!w?s*c=cB z7nkBJkQK6$6pGJ=P=wb7>zd~nHElic6be^{ny00}K^`Wvw3-R?tf6JJUA(o#pMXM} zp=Kvf&s2lw%{=D`iX=5EpcK{UOn)GD&unmJv4P04SW+m|2;(^-o^8t0t~PN$A><+v z?b+cAdkqg^Nh-{;dU(T^76W~wJEKe{+0GxOz`dx0-OOUMHQ>?f4jZsdi^j9~luS5) z<^ZTOMV(NqT$Zv+HUo*sjGo&Tc&d15G8Tjc{oQ}~ zcOU=5fB#sP&9)7~rg5eWHgH(6)4)I@_D6UrtGk9|MFy`EKxm~W@;Oi&p|6+WSuUcF{C5FECZ1&w5AU7D4Z;fC*&Y;nO2kVgp>T6_!~b%iT+kt@@tnN z4GPEUIvh=6Ar9)s`~hc%nRyyj(nAtk8IPbkB9bCYDNC)Zi1endwQavKb8FjZJDB1n zxD3D0U*~hG!F*rS8}@?2(R9E-IP*fII8iqO={bOc2|#)NdgW4kH>t+0GPfA0R3UK{ z+t9AIeQnpT?fR^JM}Hdv{Q}J~f789ITXPr-b*;opsp7P4Tdg(pu7Mlv?%VZN+wQGd z+pTps3#5^`Ti3%Xa{9G3J@d$BRQNCf!e-{@y>)CJwen=&^|)_F>_T%V9v9l#9Xiu! zm_Q*vwr1)8NnvK)x>qn4A~iFLu?wLT>1MlX+xB*SZu@3^hv`Aaxxb$F7F0WT5K}}H zM%#36t+n3vw(Y&E_Z9?mA`V5+9hB{0G7O#BapIgemZ`_q6PThfO*@t5I#m7v)T6i{N+3I?>@Y1pPsiK`U5U|)_vdAO?n?4=;W=N!rYtn9Zg|I z)ZMOq(^ChOhk1(}=33>_wLQ?<-LGH1;=AvNs4|;bw+^mGFxB1NV6|2zTV%Q2Zn#KY z>zBSSm-X`a@Y7E}axJa3<+8Tc)@`F&fva_G*37Jwvh+o)D|SQ3{ZhxxVM->bH3Ahb zIcQ!gN`(k+H>i47aug>sA_W;9cwtv{Y8f`}1yl&d>reRcH}b<@_4@d@-mpJ@|Lz}t z|Ibf<`($R<>$Q~fxLyFX)|% z?nB6vbI9-wltj?y>B8ZH!r8<<(kKbUo`+N(`SUbpAkNM9tVFVZjHmdb*BthD7CMp79^xah{^rnz7xhp($Vm4A6nVCjx zka=*eDQJ=}_Gp8{UB{8z;S4SiVHRfVzN`xjd%Iph-{a}AKJ?Zg+_ZnT?MGan(G_IO z4H|tn0mtaZz)I2H>I@D>%85M!3p`XvbjG=^fN!mD*Bdddyxweccd6CgyLGz%3a_aV z%q%Y5y1_p0&lfyEtzVx%$kKoM`cMD)|N0&Khlj`OZeMi|T(PRI%liKDG2jvadfy{u z(3zncGoH1t`@Y|9H?_Xj<#M^y%Vh?s1Pp2>5k|O7$bzGbAtIGzY(`XBY9tO8AsB~1 zP(V}yeTD=kI9#o3sBcqE;2J!sLNYt?cRrsNZDYKY_DrzGYv4vq*zUB*-@x0=Fxm)N z40PQTv#Dwv81f~#x+%GWP=wsk;lsrb};D-y}Zns$UwoPug zn`&b&HuSYjoNZ7sAZP|ggfO`sy#RmXoG_E5Uzc8$%Sr6PX(a1z;5l}hVMPFy-c7v2 zS-qDsl2kod=js{-^i{X3x83{AJI$WxL0&@+tj{lKXf0B}YFvqTZENr9VugeCo4rh) zr_bK3H|x9hPL`b|cKB)Z>8JCp-zWCjIEh=g>F7MCNi*m*)rBctu6Xq>C}DGH^c<i`p?VxoJP<8LQC6oa$cP=p6xnYU!pP=rcWqGHt-YR=ybh*0b*a}FZCLQXx|%iw zo;?kg24_Tj(>w_>_v-4Ax_JZ`3{&Z7bLKPYM5#j`8W<2lqds^x7TT1=(nb7sP){)1 z*-mF*-$|70!vzra(O4T>H6I%}6$$&lr$KuuHMpdMU6p>=*)Jb6)$d|Y@a;ELZ zOxMA|_dTyNINW3B_D^bl=x0yrgmdCi7z)YZAftS)Y{2@XIv1Bp^%3Qf7U@*@Nd2B- z(irS2IAV~^45l&<2AENa2>3=)NHs$qvs2Qwr~SzNn6eUsC~lQ>kx|qoFbffaX45M$ zb`!)QG%_zLq*|>k7gUdA&syulr956x1aN3q&5>NBAV!EuIYo|5BrpNRDS`|OixA6L z_?A*+P~n-Gix5$F<60tWaa7Nys@_$>DR&+d8S`Y{bUIeVQv&(;li42jV?@rcWV?4G zoopDn5u}z5yKURfmz9|dff%aDgJAYMze%*k;qe-T8OzaJJm4Y`Tsdg6#fXi}Y*SE) zeK}z4iL>wzc-nP)Tps@Fdin0%pLO@A^>WFJDa4!{Ga+$ytfiJ(RaIMO=5<|{W!e7a z$M3OxtPdZkUd&eJ1*IU&*=z%zV8qU%M(nO`lIK$scQ}+$AaPUiBtv_gpi3uqdn z`H(b(w9j()^;p~m9vUwUw5TNFJ7mP^Ft>4oIsC;(IV)y9-3;^=h3$1%_dQt6lg<%= zj;TCnNwPA(XpZ?A3KafMN1r1I0#0B(8d5YL^Cthdk)?Mzub6!tEl*v zYw%~Ffxr0YCw<58`5zyRji|`UM23UhJ7AP*5Lwr?)(7DdsLx#By8zbv9<9xi9>%O2 zW$37!COOx6#83d}kZ+;-Ufe(9xj5Hdo@W@E5}uGUoCbmW-kGg*;%+Jh%nT=3B~#s4 zH)_w=ueM#i-$=Wvy=HE|?meGcr)KWv=wck&meyT*scR~Y-P4&J_g34zHE+AO9udU^ zm>rQ8^VR2X?xiC%I?xd{YpI|;t#P0?iqv7Yqf>&$NTUhh@f6Pq5RRA*YaAE> z6qZs79B6Ity;~TE?MRr+U>y$saRFD91!eKNkOakv*SfrWLC{@bli`))^!1J`|FqA;@#gaAKqhq^nUTOf@;Q>j3pwxfW#*5wllcH z43J4@G3ey79j7=DsGJJuk;#%PR)8b;_$SGh_MzyL6Jx{gp7O&{H{d5PQ&H|@8}kl4 zdz&05eh8gcSsn-H+|8YdWommc%!1-FYE6!qJ49;fu%l(7Eg{m312`C(v?DGm)kj%9 zA04HEZMows)A6#ST+k6CpeNA>jT$;8EoAPd46LYiDPZbm8~WATGx`+~d#MWTu9s7R zdlrbl20wFtSaU}sCK6}K!J5;_%{)iSZz8T=4E+ui7^uS;#(+RBVC%a5<@Vk43`=OWvd2 zigZW{&WRUyq7qzS273~B{f-M0qZI- zNK+N)^C8dwy8C(M~>ry4kgp)fie1+g=fzU|CK#ibYK9^Y5o zK*qYUZs=EOSL!?UMrJb-754=n-yhxP%j&&Fgd>ctsC6|n(TOoje|A*QFn8^)-Bqo3 za-V$1gTmoyL|{Mc3-h!ZWATYMl35x~F14M~AI`2`ynO)Bz+<^1Ar=OpxERzuWl&_M zqn*GWyRs3C!f+UNJZ)~>w7Ds?llDk>DhFWWUY0#g9``DaUAy(Jy{l^22LpmM4Uvh6 zCJ7i{KefjWdemS$9X{;DJZ{a@@ePIid7JT*d&Ytm z%%`y&5!^LKKTJo9*WHbJSW%f0pf;Ryov1LG@KVMPrs9*fGXe--n2V>DCr`oAq9cOA z(=|U|RHFE3Lj4jw;X1}9aWiU$5r(RR&PEv{jzVk{&}`&^_6!yel#26%$P?-VN_bL2 zFb7ja90t%*FW&`VT6*u^wo=Okq8)a?G1kmrEfI)#Q&a7|@1_HaJQF22wh$h%6jWp> z1%Pkct?!%mF*1&$qhUnp2Bx=y7nH?iMTNV;2*S0IXN50!Bm=r7)`sCNL+yMm=&IMMd4#5AQycUD@dAVO@(^xJiedv4%9R0bmwoT}r*I zD-rGcPWbw__`4tK)6-6?dr?}rl4(p%ZJ#bMWs{^paykpD~jsXT|+Z z9_f2TOf2T-;5Y`IBMD!VPQK+MjCaxC0xxiJyPyEHb>BXJX@6a|#d`HPelrW3qP6(k zgNDg~#0blH$kHu6AtAk3S1;wfDYIuvTw7MmHlMqjNmy{D2#ZJofmxzC57PO&!R$R2);wL6m-*5f6Vo^b!9FTYXHDpN^$0kYO9OvEn(;E(|;G_-=CU z@R~)&>WfpsVL%((pfk<#Ggx+GV>*g722iw_Q6n~E9m%vooK>;Sbt}3f#}iG*Q^cm6dM|;6RD)@B;e_;!@yO2&ii1(uz@0ON zT^$|nj7Y%sS;1%L@~wRA)9q}heshXgcx0&rFcBH1Jz8b4@J`JJlV?dlBYMYkT*whI z1Pd%GJD5EV)6R;-@(hhT5BFs@T1Pasmlzvi%HG935!f&mvwlx@h>rUYJVZ;mwbYmG6UVk^&TGgJ^iC za@xJRLkgJTqo;JgY0)W( zLd#d(9zXo>>B}GV!nR-;k=;QhBBnyj%$K^f*1B6Eet39ze0u7tKmPdRN6_D0K75CI zQN1{mS)pne1{KcYu8j55h|R4a%H=p0xBYIA)(>>;(cc zI;DJ{CQCM6j_1tCM~xd#HlLkt^G-WWA;z4Mz$3ws?mN&Yz3IVI8x@J9hQSriL`mU@ zvQiJNjt}jD&jXmjoAz@DTF2}=B^?_&TZ8z`H1&=iFF>@8D2#wTbu;aqm( zl?3q(f`k)E7?T~Y0$Rb=ec!r%y=4&ug+qj?srk-oM1!0-G+GwzXU!k%D8%uz;ZR~A z%|-;mWnE2GdtzjHO8J+yFo~2ZBJe`O658b`ox_;yL}h$xVY%V#MCIItgb@kHQ$6yF zP3S4%c$4LNW@~)QNBE{5Iv$=VphNh|j5|u0c57W*ckN?_pK5^cyMiDNV<$jJYLz&u zh58{)YevBvn0BUAym%i}(}RSVrZgfVFEm&sQ)c;aySHyIHWblsNbmg!MDve zp>b+LhM?wXkQHqm%tXhE&Om`ScK5b=hq<^3QsPQS|M`wwV?#rHRzZY`N}ME)?2Zfy zBca*;_i0Oam@~OV9Svi0&UG#|0h#A`UU+9>8BJzn+GEK>WP_1-rGw`WIFEHuy0XKI18NvP?hCf z;vYs;kdrB%PY#0b=1d-?B2nnY<`(TKI;JUuwqX~yKy^6`90)1DP;Nki4q;5J) zc!OAeY_;e@7|k*ejDp@8C3UQV90mbpn&Q=zKSfIS9pjy=pES_^iUxgLPd=vebD%pr zB^+#N5QbKj%ppV`LGhkpW;70Q8N8FvmyfGTL~4vIZD0hYq^*0$^V;Wyc9SDFbDA^KjHg`MXE5{3`!J(+H&@P(A*GP7ns zsj`3tYS-)a+V@R+PyNPm&J40NI|_n)UMkBYORDPdLhgPR$l72&xO=S?K<`~ijm$!PUGn@ImM^|%vg54A8IeP& zD9EVGgIx+Ya|-L+JWVIBEhH-hW2m{o#htla?fG&2?p9q3f7x&TzV=mo|C)6}DD6Nj zg+$i%(Rx!=VU%^fT$Ud{|Mb^SfBqlw?(d(zf9R;)R}wO#l5F!(ZOU*dIY8#h0SD6| ziZF(2GB-eHj9vC8oWTN;f!gLdPDdEfrn@5W8caT$xIR^%Bh1K$;wo+c1SqY;Cad^d z77roEAq&PGRV_>EJ`xQvvesV@W2X`kujT~1J_F`A_wzI8b#QEfy zqxaqPdJR)D!9ZjTGwXW`T4>*P@0!l1Ku|>@pbeJ9Kqtl|kcZHXiPu_}Wzn@(kt$_j zVo)ViVh)TR!fooDy530qO}VIm!}KE{PhzIt7svc7$s2F#m|vejzQy8rld&6Y>~W+y z1*!Djd+V(QY6($dq>>ck~L$}kqNYIg_A%Y+BmhGWLW<2JLj@G=QO zghV3Uk*ciIY8gtKXsO(8H@r;lb$4%G&VQ~>S?JIt8l_vOGQE{d-*2rut>Ow%g`=>uuNG)ip98qRr;;2bQRzIk12kJ~xW#(R7Ii zSwPlx_MglQW;}pO5P?u8J(;;$G`wfnL{`tp#EMyeV780iGR%;lVBzq{$1*@81L4JH zGdT3?!^PmYzBM#jDf@H1Pte}$9m`Imd7E9jXvB_*ijieTO-5tKDKZ{Ob0tGpKtotY z)=48Y-o?9hC;Rxr$A7+k(c-!Qt5BnyR3K7LT~!&_Z?}ElyJ^}6+;6wrryoE4J^rWP zJ$>vyeyz$Esc0LK2$R8ynd6amhnlMytdR9o0N*vCM+DfRD$a<$ye*k$ULzd{9?iaK z#^T5ftsJ$l!YLwKkkPn2gjzQ4_Sndk?%aXHJ4k2I&I?Y~NdItc01eimfiZ(RvqS(arH zk>2;4wwv`E^=I^}_svyvgcWAuds`9S@EX1JT+UNdB-S!dIJ$u3zSBXVpD{$fW*B$3 z!pz2uNT!Ft(bV@&S_$H6ZsrhgT@9aq{ONMJEXxwLnh^Ki_xNu`1JIfm5?Q@>$T|1&dHA;~!ntkvC2;kc%YMk8-%Y8+13 zMDJ=tW=2HDX~B~ayRwDEXT)H*vz}r{rtk$b(qdwZ<2P}Rj#Pp(OznIaj|tBB%xoIv z38P#`nmT9x1)cVr132xuUbqhpXr5Jk0+?M7u}+NX?F@ORw;{pFWC73Q)uE^!pMhIW zn$6rgxwscMBMKHr5VDfQ5Ni4;0hr1V+}y1QeBXFDC?bO{GWYdE%kOw8kDo_cO0_{2 z)5A%6zsTP$=tOn|G(y}}Y2*?nLq2rFXN3uUD-q_HZ;YI#!m;^dMBFG(TAW*+WM~|_ z$%2!aECjf)F!5mEi->TDIz|VYM2H13&N;cQ&kXE4NBopV`(2#JIAsj2HsPf5d)wL) ztG=BLh1q4|bf88)c|4PI`mbtRpE)jIO(Mz6|2coV7(xyD^_-9%pwNNmgc(2qZ|c2= z5kh-}{r{Y~6{-#Gdb;Hfo4k~Q@c0cAVXT#YnwZ)B+|22fmFz{x#r=oN=HufE z%dDT>^)GJwWmy31*qe4DDpKH%uJ<$ZUv>h?$cM%YZ6AE(a%KM*&IwH%?RmpJOaR=p z|L~iS|K}h7L6)j+T*u=>Olk^(TD-W=pFcNMFhQ7l-}n7`y?#ae&GO;>(MYn4SV2fbXHJwpTu|S=zlk`<+^qAt{ORPRRzY+tg5IPL|R*>uP!#J=#qN zBjqsu9|o`2?b-Vnlskm%>oy)8*_n4SC2x>-{jHwgH$LvEEHc>Zs^u<9=G&-^*I%AT z==b~#7Rtu1eM|L{JgHWYYopvU7%YpX0w5SMs%6jX$7s%GX&83Pw7#Olw_&rw1}5}^|H-rKhI-uHcrR`e{O<*rtz zX+(%wQ&i8HTP(7adRbOqxUiH`3sC{F8xsrMOmViT(kX4xe8^FUUn%1QPUOB{A>sJe zB|5`cetpu)>xQ)1(SbhrcOjXJwbxJbv%y-xDc_KMoZ%yEe!T) z_a33}4?dbQ zLcYKYgJFyK0}mj4sah{wtJX@TxPZuwn#0X@x2D>{Iw@9Q&MuwbFcE?dH6-Y+O0Ft_ za!^Azhz|lFk+Lfxtd~6UHfdQWpp7QP9D^1f*(kvf8Tc6xhzpUB6a($u_a4bjKAH15 zXA>Ajk_%;{Kde6vs4=K8m{ro0=j6D^6>#E^zJw$@L}{l*+{ii4Xw~;2Mt9;A+Y#8D ziCCCKh%2a2#ywrC6PXZ4YAQ=y%sFkJ8RoeV^bJHzU^WipQfD&ndX0RnNSK+5t8Q@; z3+Y?blBAOW&FSr!2Bmk`$F11c;#cWzx@>LPoxAp3_Xqh=_O<#4dHnd-^4tHi;S)Xo z``=g>xhdKXdj@2|m&LCS9|&u2Jf&(slw}av!~^8 zxjdj0ZMRLaJD%14b@@FC6_x5`!Fs{v(duHQ%Eizw4<9~%{^?OFo>u(p@B8)hXZpQX z)4r=~x6YsoF5;znCDR4#69VhvnJv|& zcA(>t%Cb0fb64#UK&Zl+_SPDRsH}x5ld}${Z3cYKV72;n{j&A; zthX!n1~u%47LWnB5i%IlK}tkan!S4lp0IWhIZ31T)AMgXykEH2_0qpwsoA#m^)!`?T-!r&Oc%!{pUX|5A_-4KjYKC|NH;=d2_$DN9`z#57@tM zt>4H@dgrz;=#Qv7utPiCpnz4_N+v{qHLfVD)kl^~2eAMQ6E5uDH|RVlFV|1+KYY*I{tv%>`t9$({_phh@`s;3 zLqGlP)BmykE0*=+<+A?e%LCOvKR?%}C%An1r$7BCeEgpufBXE8fB5LWt{1>t;b-g* z4-eiwY)*0Xib!fDSEHtC0GFk}t+$58Nbf*7vkTMkVpSF)b~S*6iWDL9ZQtw=NKmxl z0X+M@&>~B9_r15xn}9(?i~ zu|Mfe+rF8!Z46J$&FuO4SwKP{GHbW}nOZF>T)52fyYWHsy7jihc6N7PD=&|$JuJ6{ zg^EPvl?aNENc2Rs%Wc1T@0ClDY<4hc_s5VWhAl2^E8VoYvzp4jf`lu?otu#_a+#@w z=Z^2sqYPh&F<$(`yQ0opNKHe^KS_VlM)5)0m<;J%Ke?+>qtZx6m@5bdA&zLL2wjZR zS|u+I+Np@G%R8oZ@0<2rfFkVB+wIHk`KP{r6>bm*9**iI>S)f88xpco8k0GkczJld zTrNv_N^W-u2()+I%{sJRuh09w3p+`?{!T^Lq5&-^!XZb>?K=(f|qon>VKSmaF#xo4pWnr>0 z^RPTKys!!l*Bys$h{5KNd+N*Cy>U|X3P|0_Tr4o>K?QK;dqmL-W&EiVqh>IT4kC@n zv^nmd4**nq?@jmKdxysGY*K6Flu#g$)^>M)cw9l)wym4qSy+-QEtV zdfl;mk;nP@>zC4Z>h`gsA& zx7!^*VznJRf!K}$mi&Q4jv|60Kt>@-gvbXXkO-0?fCS}!fCNa8$T0-TC=yXX zPU5)jn2ukaq+jmts_yD~*L|JG-h0hC#^A%4bFQ_|Ik&oP#j!am-MaUld(PR9wdNdi zjQ{`l&sUm}8c85c?y$HK%)lw4)MDJot(C*g0=2+a5`hknj;28#o<4s2(Iy?N?wvd} zt>m4D_b-N{i@bY;O|g7`dup_L`st_NeE7by+`e(+{NWj=baHa?_M2}{w)ybM3+TKm z<{n7a-;3Ul@2~vT#5ig|i<;W(vsi+N*m*hItN}W1+!@@<9QnqO>90?iO&0ym-mr|> zaTWDxyLola&%4wv^~+7Wy&wBQ5oo^Gjef$@f6_w4bF0`dw^h)Q7jjKI|679f&S8qP zs<8KcT;9dWJE;)oimN?ic~%M~>Xo?yw{!!6Hy{G4D603M(ZO#ZI?G*Y)TGYF{4l3m6!SSIk;_tL70pE-msfH?qhXF{7R-JCEEJ z!InfM9Dz192sYMgArv#Z0y_Ku(MOkbc86Y+ZiUq(( z_GQL+ofU{g()f^8L{!^zVT+*TPUAS1l2tX5$3vsb%*EpU4U<2$Q1Gxx#$`#~?4y-h zX4Rq>nHViUnCj5B;q4VprWG;Ziz#;X+wE(1n}Y(y)tuC+xUoCCYr|q_1V>wB`~{i9 zuHEWd`V8Xdvq#z1#q5lw3EQjO%#Awi3G@0+^X0UO6Bhw}esPoZw7G3=Ztuo}&C}`ByKT;MFz#N4)qJE*d6h zA@fKKi90a3;(EO^z_0$S%4Vb)_!45L_T{=126Xk6HC{-VvZ!7R8u`_AOO#+o6UexV zmOSFKfI{4#AG#C=ba@OoQ`*}NdD&h-L=`51Z*e|ePi0X(o4ZlSp5RWxWL_)su$PA8 z%wt|mU0GXyA9|jS>e9drxCJ*c#Dd5H6&qX<$W^rzF%#jvY{E#Ly_Or;4D2+0X2kUfrh=T*TW4GPrsg$xSd77r(w8Na>Q152J910bAbyY>T01@_M zdGC=_xHS=Ep6fX^(=AgRd7^+XrD*jIhJHgYu^RTP90rgOvSTMWd$ruU`)0Fw`t~iK zbXW4G=%d}1$HR1dY-RhnZ2V$-boZ%ytHblJyzy-x|M*wG{<KV;As!$D1|fyp@|6x;+n(lxBUGVka-#f*wiCzM$!B)8W53*EI@?^FJoOA6A3l2X z9Xhy?$h)X{vYW0e*G=pH4i9?%vLAwysLA*R9Un!dF@VSPF_Jj0N8c}_p^WszW ztRIwQ(dfuleSWonAKXR}zl=@j9UZ?cZ@AVz=xufGpY7@B)XaPgayNyaq}7_o_>HqZ>8V3TRI?HLH$!^|o*Z-8IyOR=f$(0wrOd*~GgN#wsezV*`Z>N(_tQ=QF> zikb<7hIp^lL7^fe0IpqxV6DiTPbRLGchi@!R^*wRUJ$s<_Ie&OChS6^Uz@ zIgD$Q>Iz&UUDVaotduF2ot11J@V9!-nQLf{Y~aA+bF)`*#||c5bz}!%Q8GAmH6E0b zRWr<~A@f;Cl>q&*QASN&95GLImWff&+dsT3&X4tFqvDMm=^et z%KDfu);bz9hZjdN&lIFl3nwC(se5#vLSw;13J>kG0>!=M2ejs+&FjcA=2~ZK^4_7J zfQ4hXE1fAXOoU5SR;AKh75XgKsaATrvx2fmE(40AxH%DG6aWoYS}Rq=Nkc9iOm$^A zu`|e^fdsomHQARaHHUe?!(a?m4?%tyC0e^C>h%hzs5v!8AJA-G%Asf`KTs=I%&TR> zLjdOFeZi@%uDXXX&79XzJX+jD!eAyA7w&v+3k)4lsCl^NmUeRmdG)7XbBlK8!M-Go z@quoMCwCide$(BH8@q9M2;iux-QYR~sabbi)6;^>L6I(6Uu}-H6##`{!PSUc;zq=7 zF_T&{tVl*BpNdXdASorco<+c6iEB%CMTUm)a4JQojjV4DA_6KPpg5}YGo=*s^kR9k zX;*S_EsYE)5Om%xakTMLN@ttR!MMWlF{bJ9+1XBau_0r7eDvw!;sRwXK&xS^YyphzWwyQiNWK_rzz)5Lp;;?$(3jp2m3&aL|{VbAJyHU z3erUf()Z=qt=+z;8(QC&9Aa>Dn{{Dij9tmciG7d)A6LUpCt+XTIx*OT%weRg*C;PJaJ;ns&%CpqUn7FcMmj8p0lqYsot zq-YIfWoCm1G3L_Qy>noQNW69dW0oQ!P*YS)uTlgCwY!xfKY^Ct#{gm$C3Tn3LNDHE zrf#c&6PZ^ZXjhs`?*=s?b+utF(7(pStx-y|PX}6=g4J|^ivAWS1JhFIzkEymQU}`W zd#9>dOStd*c95v{Fnda(@9!7XVrb@Ftn;|`|3Qo}8DJu*MZ6u!dd*27rk+tI*ah?g zdVxH_3L+!J88U!J7P18y*StdpmkHjT)93KwCiBdj8g$>8nQedI<{#itsF(fh|LITd zivGG{5Y2MVR)mKz$B;P0Fi7fqAA3ch)Vr($zT8!HnkIK2(I!aD-IP{L%WkR(3N*)@ z&|>V}9ZIp7mwmUAyN7otrBsVN?#D|fu&6GNA-|hD&@`u`Evb%m#qBnszH|_|Ybj-7 z-nf7;I9M&K>XdiWv?;oUS7ow@AtKzFBk;lk z%q=3xjM#G3m2oA8F(HvTfypCXweAc7y@L~46i9`dk+~OgB{CLchZeBFJexLd>)bc> zUTW1dbmVu#9ZIZZN|A`@46j9j*VL}KK-Arw3|v6jVNPo8d0X8{cxm=%_4J&3G~YKC zXNZNValWgl7m;moyteP#|GF%)XL{StLD@CZCFa;wuu|;@*Q%2n(UQcV4t8QCHfAun zq+nlP(m>b2fnVM+%^XA~WC2$vCq`@Ao z{oY`zNHrtk4uGOA1_}mHb-2%v4QKH{q6velaM&s{5Qg?^peYtRRF9ioP%8J|Bf9Pb zSN{0TJJ5CT@9IQ#7UE_Nch)Ml*5Ry!y_mz8R}QGQPC;yZJ5vdhzEw>>_()6=}`snwmVCYs0DHkY!~ zDMKC3P7%M?lHOP#5)3Ag!PZBI7)PAm-|Q|XWUI5Y8jBDF0|E;u1!&Bi2Oh_f)+>wy zO7`9MY;&=lcDaF{L)+R(?9$T07iS;tQ`BWW-KPyv9mYnuES>v?w7gql-Wm-&m1shn z%`A>fn-9%iG3Nvdj(-AKqrHYH@bv8L{NiFbJRFaYw*&1~eE;Facfa!OKl{u7;Jg38 zAGmY()|Y%*+i4sOyIr0zfZ@;rA5b-P+(A7Yi_$fhrRpL>QQa%+ znhE>WL)9P#vo_UhwA-?b$pptYZ*Q$Uet5qOe0+R3I?gn2R9}7l%|G@-|KjPFzxKDT^|VfV_7=Z<%^ZeET`>w6Jmax-!l zs>&Sq8YLChVQ##a(j)kqYp`M41Nl}L{bIzKVmpJf6?twSyF6!Aj-XI?xPS?57 zTIZ8N%&e`8{iZQhawY13*ejhH-JuBDv%d8~M@-yno0tG$R;Gnj>QeurCnCWuQXkdx5|Z27&vk=fZ_5PWvVigMZ&x@2r5a&{LN zOG3zE{jtI8q6`S#&~FfE&VsIsZNN~f9>od8iyGQ2xwyO5b|XgcKyt$4T1huM&4$AS z;h4VkX^ub!851!>sFFdUuwB`0rpje8}im#kB^9QOGjqj@FiGK1=t zOsrZ2eB;IqKp#JRm`x|-1;b&!1*AgjhJlB~!)mo!A0A*B0L6B5wz;_2Zl;{G=`K&j zZK=qq>PfDFv{6QTv#$4FH=9k>5r)ckP9}pdxK2hO;gpiKTzbIg_OpBTnm(xT(i~$~ zrx4wL-0}!(w6z!_(jLI0v(sT*9o)M4{^{w%O?mb^zU^Zlec|Tn_TBg1{ztFA_MiXh zKmEpUyuSJRJ5Rmv{8#?LKX~csd$L*^&T`JgQL$yhfwwlBD_|anY^&C;_Lj$b2iA@U zHdCmv1&IwwuuP<#P0}WgN<6A13xUXmd=MKYiyq#&`Tp*FI-spNhT%tk<}WIV*o;o=d_q>+XBHs zEg7*jM{ASPX8{Jf8AiH@ewh)yuiB673z=(H^q>d}Lo^d{LnMck&U6-PH&UKnfn`K= zPSoNBo>3+(*th8q#EF=_Vf*3{GO4*=CvTwMd|UiYPzw{Hxj}GaR5|`31~<2&S#^W5 zfnC5Z*v@U*Kuaqz6KFsR2gNcumKNp^?$ta;Vt^TDn5a9aAor86_n{QltQk^-5+z38U75>vL%$ay2#2Y9vcEkgHn^Tk1^6TvaU>OC`ET zG3u(&Xm?eGc`3zJ;}{t+9ewG$bSP?r3^BXR)%o4pffjGp&)$KKEj|vW%UwKdiSFdc zrkvf01~;0DmQsplw@j=8A|^8n#jN)&k> z>b}e#kI_EW=uRip#7MQ6+<*k;@HF=@041a-VaZqq5~t*xAP{CUfh(s<;kYKXyAP6< zu1rc*7wVK~TyaV~B$2t?iEdbxD3Ew!K**F(1su_kj7_+&mAEDjwjW&E&+dwzC0VmK z8%&yf5g6GX=N=+-ud`0=JV1*|f7x1iLI;|eB8Si^JdM$Mu9%P-dl_j6L?kX~{Srd; zqco)fHJJ`|%%XBVS_q6=5@}pSgVPNfZqc|dC2xwVVjQbVtX6uhRU;ylIy~Qj0xPCd z&fv=ObB$8HzpL(0GoN(YS>EZC5hg;SD)X&f=LCw7E!C2c4sIS}njW1#b~0yx8h$!|S)|K^9Ef9X5E{nVycKlj$jbI(3}`0k(icmDi;^%wrb|K!j9xsQM3qffo? zf)UX$IFPkOzXYYKK^Q_6bQ*@RXavsMY==e6wUV2I;OeGsT6NwWk>Jd%aJGt;RLmM^ z%rrD8Lxnb)*Xx^}%Ie1ItM9+@%nKjkgiQW(fB(}jefWi2FMs6keC}7y?mzg%@BOZm zOpm|%_1ib@9G~1gJUM>t8*k)%{tLY^cbK;8KfEng2o2qZFGLMi=Fh$-3 zS18`&EvC_}3U7$A+Of`A@TXTW8hV5nL#-gJ}WQMGy#^y<} zGIq!oS}(%olsVq08cY&cD{V5WtX#5_f~*uX z4Nq0zv4m(4@iy}6khpk6%~!3n_F|kC2-D^#>Rm*0vGS_$8;UHsDj}%B~L>Oy> zAzQ3H77@-d5aTq*+mJt+`0NBQQCn&#-jf|R&I zdu7o$^l0dU*olb~FM03;#El%4!lQ;IZ!?r-Pvd>*cz&OwMb_MXm0og+* zFA6pGrR1TBK^R08XTV67Tni=PVQ9&d&Djs0PPeD~+fpLXRvSVk0JD zC)W5QL+cjb+SSp5Yqv!gm!rX?{ewFYxQ_0A>2ZB4b3g!ElQKJGrz%ygN)F%%jg^Ba zG*~^TtR_toscKz2yq;R;_8Lg2YU#ZKOknPV(GjH^J|1MVNyz|_fU)giaflP82tZth z5vXhS;0uZnn;>bW0Ru2AW(4+PI%z4U86`uh7mLeAk%JkNswBdC4V}(5XJAs8L*w)q zWH@R?Q#7I1vRbd#2M0$u7~za*lS?V85izZ9JLEm!G>AYcl2%&+urGwOy|1%ct-44c zFsr4MNvBcL-c1n~Br`<;7i^?BzlXJnVQ!^LpL?82Wxnv0e%!!T|Uj?#I?BDvV( zi_O7}8^7;||KPJ9|JeWZzyH+Ne&uWLPp3crulQqqO)lI|KCX6JJ!Bj^>k<-L%m{kSV zdnrPNvA%I!6215Mp`6^cRr=U>|DN}E=fCmw*M9UzfAlk-{k7rV%~xLj(69XbFMQ?o z*PkhJ?5vKPw{OYn@c!HHu7MYi?;LD#!&6|bXY*pGf?zp_nR_S^CTTsAbRpVq*F%eI zZC*bj8btaGGt5<`lsU(whN^&;Y=_xuUi;QqM7K3#WvjfKo2j>@>)flISuvXk>ko~u zVz@=UvydInZ7YJp1Gr>yyGD&=bF#_@E<_&Tez63^*yPeG*g`r%S4@Qc3hzpWYgf?L z;dCY%YJqPIABfk(m`cDZEW@_2E&M`!V%wl(cOy%_P=7@##NtKfeOgEyU_uvaj#6b* z%k8@=&dIMi644AhsisPakPlL3n?Hi&XYz!c8z+;%!tIu$Yj6ivoE=HP?fP=TKax>HlQ!dpg}Es zyH2WzJZvBfd8V_QGr8r;BemjILXpmb&`E|HX)$f?kgIy$SQ=JUb1A}H2^&G-0EbCb z8z#so3c2cN01LUoje`trIbd2q(rPPZ~>DH!$3X| zY$|ylN#kv_L`w^H|ND}m@MKUTj3bY$Gz=sp1BWn9cp$exg%0C^%LQ{9WMI{9jE!#E zwR4@;Wvnwb4Zk3T)>$HTgNPM<5rWI4N;wKcvs_o<%hcKQb(ZJO<7Zmw=%OKA*8 z?KqBgcTpp95g~F0Y2LXLL}VO@NV&Kbst(UgG6JM!0h%1X0HzL}k+U%hKD=%O=OTO5~w@_Qb>tseR~Ze3+w< ztCLpdbk&?ylsy)qJo~DQ>e4CNOk;Z)H||zbi2B+T$J)7L+B8_prKaQBXYm{p)QdWY zoQ5gjxn>%+l?*iIW|Q?m`W2`S2)gyDeJYhH;HsqJ)ousWDLW3_tpjW@Q_=0djs zi-?xupaDVv!31fI)rcYSuo_mkPHwGk+<*u!cH3$9=Zj}Y*RkR%>p@Q6$T7*6gCI$W)%(|2F|=ttf^J$0t%Km6j&yLW!!mp^lS z=g#l@{V%+A@!*Yj-#t4!d*Ou_|C_(^m)FOK>w|+(#hu}NeRz2P!Gn|4&DH7v)5OPz zP$QN^tVFJjfgLBA+EDNU%`ozEf$a*bk&`n;TV;q=MI`UIF~QBsG})BnrQ6yzVGzhE z&IUP3>(%4UgIAvW*q2Y=Iksw|Vu_*p{+n+;gQFLYZa>2}%9{^-T#>Mh15%om zW|CT%T!YgvaS||1WeW9kxExYSoW$KPwjRl&A>-+S_-)>%luT7~Ib5v)Y`0rxJ~%iq zv#iCYDQj^8rz9ddXCanBDs!y@id@~O%18_|dWMpdT}c~JxYRi1TE@lN!FwT;M!hto zh@GK%{eim>F~@Yt2uT>ua5Ggi8-^j|vNPhztg_>(n#}>rrpn2g-8#m~+?|927b;f6 z8o3kmYUEgSc`eSXiKOD5Xcj<6s%6|71IR2JcrBwS6Ery;uMT{hCoLP~9kd8#p^fH; zyG=%kAoNjq5&3>K2alANP%77zmi(q=b}L)vkg@-#xM z%{9X9PJC$BVx5I|QRy+{Xc02KUJUKod6Q6E(d}9@_n^l(t%$*E5 z=l(<-C>pH?#I|_7bdXzKw7aTaTwLsSyY-D5LTrgVr9|W$jV?@i8k3|@NSjmQRy)yh zo={WT2;l0PhH$eTrJ6`0rv3LlfNo%oX-hujg5~>jqT;v#(t!#BEo$6Q;U~> z50_LKBegJ&Y~3Yn%$wRu`{anM3BSw<#%wA2A&myX4B?>{FwKQ!?ihxFxW8f={JWg9 zq{*GlbA4yD6y2)sHk%8z40ts4(R?MUIet)Z=?ogj=2HC~?$vW^(a=oYnZcksyX?F$ zrb=EGQ@FU06Q{kl=w2VXRwUeg;S6qQp5G?cfG8Xd#bJ2&U-?jkQb!OSD2kLR9L}iW>!DPteSW zqm(;Y{SA8EJX=9Mw7%+3|8_=?7??m#c~6o5Wm2$a~Fla1JB28`L1RePUvZ2jEa#kNhLhe`ua7KtvB;3Xo=5Rw{m;*)@ zR21d}Euq+};!!K=6!f~CO_S$>Qs5(q7meq*3JFL&SkdE~$AE4&8)ZznWaMVLugVR8 zS4bm<0prnlaP#=);n6XM0i~3Zvz8p)Zq?#yiwMBwct?l_7G@&%oO4vqQ7iWa-4@(a zTYNxT4}Ez7T=8aEL!BwX*fivWFe4}$kvZnJ-hl=Yp%*&SH|`I(rK!4x12)u{3&B&B)Gq@mZSmlHKhN9*lA#4gNIO@zJRBc9 z*q-Ys8=Y=EefRlSUVi=j{Z~HuiBEs#mwx$Ie(mIiXa2pv@E`p2|MpY&zxuV0f7>f( z({TFsd$(`jKDl-4)h~Y~p}Z^~I+^(5@%=lr+O^@~)vojGcW$EtW)7WAaqEcEYLoAl zd2}eR$BHdP+8v@G5lJGE{YW)pmcz<6Z{$`7NAZ>kRdD^lLQb}5dWK3zYhG>C)}ES3 zZ`niP>tJ)-eR+#j${ii>qHe01od%bN22h|}yH+iwy73T$?jKcufvcN^0j4!vV|0@+ za~}N3!@5Ph-DN>=bb>+}MZkz*kc6UHy}$}Q!#89Xq#NWNa*6phAdciitOl1L&|TO~ zSNmK9^XlKV{YTPu>fF9Vzq~)7&FXCkaA_B~q<-Ebb2-?Yi+MIGHY7fPoHsQNGgk+8 z01$;~q0wJrPcJ<$Zc0>YUGwEbDpNLQbAp-+3o~HsR}h5J$WtRuRkKm8t5ubwX1{}) zjcfg{cybK*lcvONKvLaYQMeIe!(?KILC6hGWFV_7FVy(sR{t*r!_CbFrFn!Xp*1h1 z6xx!xxDdl#U2`d0b9H2IVJ>wasPnE^*Xm|YwirNBt67?*!rhb9TF9a_44O2N$N#~R zN6t)2&hE-2{ZNiBJPp~#qFvfQYwp2pv!FwSGuRwd;K^MrMv!W%0nCbGkBnIRl1LSN z?2C0l>rP#7DcdZ;hZw}f1&07_goCytV)ETBAh8cmw z5zQ?q+h@sg^a^8fck*6FHvuZh$+^95%hwYNjo`9Gs1QSnd|e9S2UCi`a4~4`=Bm>R zcFCu2m8cK{-|KIc@UD^(hg4r;%n|EVg^S1{eWpdV)FM01FVG4ZC5z5U*i$j5uj_R; z7{R&5xHLIo@TV`|$$m|(yu8VOQwxpv)fL(>*R=?PJJ-&6Ky8er^_{EyYL0C12C=Ev zKnOI+Kt6)VT&W!)h=^!KX|2TP8K+y?84Zy{T`DBUIrf}*O_B_WhZ^Y!3SYRoP1Cem ztx`&yxx++JQ%K5Y+HQBdoo=_-g@c|T3=*V-)N3p+2-@fw7D=!|eUw!q}kG%BJpZVKA{mCEr-hcG#zxv1i$iI}|c;}^; zUb;x*TW@}Yna6Qta4E%^NZ3pjo&v=0a~wlGkhOVtuZaR2UFZ0?lI%=#q$cm{{H4Bx^w z&g2QL?!pPvG%>RnIg3O} z3fzc>#PF7nOBB|_Qpzx(wQ0=e;eSDKPcX8oOR=fO&zc7YhPo=&uX6@eF0Z>AS`v!86Fb3CQ5YPe z&Bcu#!sD3lc} zf(R3cxkk1s7KSKH6- zm$}+|9q6upbnC;=s@v<1dG0rR;#473-3n1BA@GiK@a0w@BnojACV?2460spMuOMS_ zI@{{w4Q1tM@>&~Ck@YN4b{S-3W`Y1EYG{LJ%e&ofwO+4>al73H6{bxLP)gZNn_byu zXhA8^j%Xbq0u~Z>aKxxP2#y;!u-RN(TsW)l)xN~-d?P@D9In#nUw>nG?$(X*CQ&OpdAK9-9)EM=2$s)IH*>lv0(%u@dmCmX3}r za~w(u23=n8QPz;En?a5G9Qld6xH43Oy4Cd1j(}cyF7ERDGtYk4_kRD+eg3nb{<}Z_ zr~dq(`@a9^+kfKU{<9zd)OQ{q9DMPuH~)oCe9vF|zy8*9&pcJilu|PIHcvX55!6hX z#i|}G?qO-ca@3Bma40kZ8g#{)Fy+R*_tNF$^O>QWIuuUKSuI1;IO=Z7ZnsX3@<3jg z*W>wa`_6;+v+Emgzjg2V=N`Uuarf@s?b*f0Ui|1UeCBWd>f0CNFj!(99 zz8}v&E62wZfmh)ftC22^riUQ(1qV7n3%$Z8$~oI&ajWkRDs>Kx2hJd3a`$l@Q%af( znOjk?n<_Of9s(vsUSe%^mx#S2f?AjlmL19({cRSmpW+^Bfyj6)O9@9c*(~G--t4MA zhY_|k7PKjC6sI1=ZXsvlT1m5~Y8i+PqGm;g1(~it$+xt>mj72&i)mVP`vQHEn);|F znmwu04D@*4OMGMoC5m&13HV^OT5+1Tc?-|*2|Nk!u-o`Fc{Uis*pa}gvPy#db4{Es z?~_2{$E#UEwTdmf#njKQevPX8TP&lmfJg8IZM2hvihC~D<+L7$VX)}+P|fkJ1e*}i zdq14a&O&dqpeE_9A-d{LT!n^IgVL%WICT6fbz@`NJD7RvzQjT&DLCf5kgP;GSbFT{ z2RDF!TYJx!cHt-qu%PwBlc6ld+^s^k=9QXjsCL*Dv_`2>H1C`&ptsIOeblf(l=%Es z*LMK3))_D>s^ac$XUt6ORLEV)TrInsd-2-TvrAL)#^0=939rIuB7#t5hvqCXr>bYB$QTM8G&4&id9)Lf1Mo^}tYrQGLTIxx=;BVU#&=Lmex)7s%|h%R zBY#+P>B5}COy;iIK{JcZJYqzDD_69~1y?!{>bltqkvGMe*0VwwoZE~wY!fYU zrdXEaXf(vr?|+`2WJU{BSJZ{bbgLvFO} zKz9X2??8V*%Xul``W7S{QRl^vc6M?nI57#qnZfaEYj+|^ba`VZW3RI|rWuJ zMgks?MjGziymNeT0v?ccy4apwTx_SEnHB4eXY$&M5&?^dfJRBH2v}v|miyL~8%s%8 z^b~ubVCCGgnB|nD${%;Klj`Rl*-D>gVq~b?>XMz52c1_5Gjy(&rw$_1+ur-~Z6b z?Q;M8_kQv_f8%Sfe(1T6e&yFbyMlcC?H3NtGVgp`t*3_%uuAn<8*WlFl%lG#UN=;_ zEv0Cx>KylrIFV_!SP_vk!#o^9LPUwkF;5#pv(Z8dvnhna+FN6J7YjmYHgLsNyeDID z=Xlv$hJnDN>C15V9xszFZU69D!qL?-izLGOHklzfM82?BR^YeLoDO=`Ef+lokFlXP z8nmhwx0a0-x(iB}QP5H1$0lP}^&xZ(<&AnYR%pY(Bhny=3|7hx$lxrN$v4oQm5i#< zA3zD79H}YFfQ34-HO0FklxGxdg+Q0 zOP;J3RY#Uwy-UIkVF`6Br7$Ovv}AhzGnQ~%+GHDz2eU=e43x~FP&M+a-Rl}cJSU#B z3t%ng&e_N+blLkUrTMOe7QuHj`oeqlyd>?`H?z=rWOcQF-sp8TY{L3wEQ*15#8W7<^Em;b9u+?pm1HwP7SAt9K7 zQ{?x#qWV^KZXk7dPfzh7hh8Zt+c7cHl%W>07zCj`@}oJ}oM9PrhcMvEP;C&uXmRLl&xLphuIsamH#}bL-bGq4DCTH|g}8%jlVU~} zSG7U?W7Nl1d%7^xgGj@2FNP^}6b$JJ4;0RdUV-2S}k#1{S~t!pw;Wah4di6KBnL@7#m?!-o$6 z>~t$hyiCr-hMp)kK-M@oIXt>~>n>J@FvqmrZnqIor|@|E3&<`pagrn=iFioEIE-UT z0*)?$s&<2UbF!jIP^`zH^nYNO|K)6Fksf@urzp2 z7Xfj6>U+NT|NX+}Za9us2S4>!|C-&s@h3m>!XN*mKmNtP^Ye$#-2ET_`~U7oe)tdm z;UD_p|Mn;UV}|A3ZX!!5C8QkkaCK50)@>#snUQCWP%`BuE zHQ}pi^r+QUw4`Uq5(9KqIJ@W*MapH(zGv2U6FA8`DW%9zB6{DvVss!@k%FsNN?li%q9ZW2%KFTw}{)Fm-NVClCa7E9X2!eV zc)>0g&?&L}GnYYMJK&98M%WoeDwC&CcgCWCnNv2(S1$F-9q5jm?0E_tlHKS_x5+R2 zqU(Q2Qa#gsE`dzKq__ppf~bR~v)HI>@wOPkdnI8;)hdA2jMCbK-p{Cw=spSpBY%N+QDMW1?+b_xS(=>r7r4+FG2z4WehlN5XgN2}?)LxNLTf{?>O&;7vAMQPc zoFAP&<|Ny)9r>t0X9SnG>iOvS){Wa(9{_~iPA@K|X;Rf}S}YfvAuVmutCq6F5&^0r z0`*c#netM~yezyT=nE|@w+G+?$yo>@13P6;xKx~b6st| z{@QB?!%B$m-M(|q7@mIiFaOtn>G@B7>`(sKkNpon{lA>tx$*9sZ~m+Q%Afd-TlYTv zp%*T;7e2_rdcES6n=7o8LPjIRTRv}f?L)3;`a?}bz4WPe>L;847a4PPQ{U}!+&)vu z!}0NWa=gnEC)rNB!-LyLIR5l6{=#?ubKm!c&%FBl%P-yi$Rb9k&Psp)I$g#z}E>-sFHe16R_6~D>5<@1zG5~J2s`X}{&qX=2 zhy-@iJ6M($w!@GQ5O?)pTZ*~mkM2G4e)|eo>ksm@Z2#2nVtdx^W^AkfEBX3@uiiwy z$ejjx*Q7Nnc#Od+H-=ggkcpXDjyz231uj~`i?pllI$N>t`|df!3+;J(bzx)1iv+8D zxfWY&++J&FTEtx!YIusO*{YdgMXe(Hmj!fuMYP+Qm!9IriLcKn?03Cfc=Ah%{nNa!{>w8YV4&R+)v>koSfSWgQ zdVf1@WhJ{Z4SpD6+)mF(NTZAg2M0$-M_@))Y-{^Dm_ZqnA&A-NQ>b{rsq)clRb-`9 z)69AZDpTOovarMAQ@0)cm?vSS&hV_4)ST-C&1`V=?t&I<~0%5Cu`JPA+1L5MbU5gmiVsoO^ryb#2ak@A&)&cP&Kqxi=ZhbH<7;0(zIF562M->fof>fW_8mVj zEGrbp*_n-wVW6Bn5K$tMQk-Ux^EJ;a77??eMO7{0T7%9J8n=*^sYOH;fN>nhaRe}F z4FlIw(1IjzX~k=?f*nmwpqROdNbi$$^)LWvID>25Obd1FwU@*a)3(GwMH=Fz0@2+I zO7Y}(jE zRopJ@&d${FZF3q+yldR90x;DkG#24a*Fs^^Fr5adm>3B(fW$BqI^y-1utHiPB`0`| zZfCn_!ssYIq)L!$&IzlV8}(jk@+tI)PLX5IsumeAZUo!Jb=+LlxaeF5cUGtFfUdFL zOXF8mcAM%;BowPsW^)=24#9&&sFe&P;v^t4A3??_BeMH;(8+S~vdg<|4+FE1BM<-_ z?aH+m({N>7yLyrNm8{Wp^_FhZ&#TFfmkR4Q#kH zILmWe{@8ZdzV_Di?uNjbwH$jovGw^D?hry^9HiZ5hwS5cz^50taN^jU0vo&7A{Dlh z=)LLjozr*j-nn!BZaSS#Z_rUWKSiQ1<}Xb0~HnhA|BtlaqkGbS9HC8Z-=MXmy zrSrpkC*{ue(Syf_X}EKI`-VF*-+%KR|LT{YfA*<+@1Mwn^W%rp**D%f|HaYM7X;nm@BnKy6qFL-m(}wm0ui`lwJMJv?{>R!9OJVA zKSn9;Hd5koG_#zu=fWb%yfQQ42oIJ!0S`vcD;%y5SHg6*8_mcWy8;oA(I|90Zc*;< z&M!!j@ciktTCG;Al>yT`Vb3pW%L+wn3Fp=*f^)#4z#n`%&pE7xN z%P{3tq%)_81gK<7W9FLhRnKPCVwa4l0Eumt3KJ|FT$r;KOp|0g!Z^VfUF1Gq2>dhQ5}iQGm)s4oHeE7+2NKT z0fj|v8EEVm)Z2vp98^yUN`4g3xCns)ECBEZ7ZGNM`l0&~hQr6Z_3qKfKK%5#s@yu- zj`GggDOPDcthWyypA@7i`);RNGL;SG3!iqRM;NhyD5LpfDiBP)D*Zra?#0$bA|xWh zBuq@62#Lwvr6qa>MmAdAIhsHzkGta(wSbK(titW<|@V@5)pF= zDw>B?fm8KeagsDh8bUb7Ob#wOk&y7PBB<@QJE+>2XdDk*Cy)Utw5t|EG^gY{vQPjJ zAjQ4Fv%w%n7P?rjohTzWwKhLCD#U>ux)LZ#jz<{<*&mISs`W%rN;7@ma|V=FGX{1xu-L-7+}%zLFV5pbu(RO?)jiI@xFKJs*2;%UzVJ6 zOy^5c)sT_KG^%U3d&1Ub+=TB9J(qNKYC(e6!R>6XJyuN=vUtAMv|dKD^1qMo7g6C< zo#V?6g*yTMTQ~&&)0$*m%79#0ZRX_LeNf5X$2Fb%Wufm_jF=hB;yi%Y!)T@CoZ}Vp zOHi;YUiE(17Zrgp)W|_(Zp9QtJR|}YH-i_`V%lW)ezjH8uJe{b13o-FL@CoWh3-7i zqXNpF1Nd4{Qc8F4-aWW=3q&X-2eGbw%n1Fas0eC!d@MN|y)7*wu~PS3fcPFU_rF$E zInM_cRGDg)c0;>0ifIQAU*n_tX2`5dQ_^_M#nf`1*u7|CauONR=f3oX7eD?ok-qit zy`$rUljEcO=ycj`ZX6v)&WlxFZM2efZe!3@oZ0>ZvTNFDMpxQ?mva)VIxYw@4xC0B z#&ob6kB{HJ|K50Td~vb8d+%P!+i$%0-ZL*g|DM`rcP=6ahesvxgYD+24?X=){_#Iv zV>}vG$HQt&g54B}7LtI7=!zs zKB0HMndLkm*mbw#CEl* z{M*t-4M(6CEmFob6cHz0uU5B`Y`u{4;qh^r^#5b-U4w1QuKK?J7;~<*_TJ}l->>f5 z-D-8KTM}x41d@0dj0G4Xha#c!C5eMwsXVB}6~D?KQsoZ`CYAE1U=mWPR8nO^SuVgN zF_lD^V89@Zkq{sWJsLgwdAslXaUT2ZwdNdSnEh$3QK$fUK6dE#KU`NtSCIOi+<7quGl5mwQObg#~7t~E>6y+ZF z@O+c>8+6j+Azwd~PkclWFdBcS<+wQEVdRNTS25!v7xs&mi7eD)vSq;fS}>zqP~}N4&AeKRNL+YCVtZ zH%`==r<`+^lyXj4vx*d3`?QBmlhVp|uMHQsh<`E-2$@EEP(?2W zqQJyVA%Khng~qrc-kvQ|f2%(@=m3CqETFBJ=MQHNXe4Il7}_W?Y7>#g1j+(UDS@eN zTYv?cp)7fjJZR1$*;$JtXJq1AXC@OWh&)9%crPF{k%CxcaG(YjICM>H zW>3HOZ6E*iAJOLQ@{^A(_jc|)xOZW(y;u;`ns(Nv*=tCo{ z5y3HeI%}g|#VplOG2e|~lFho%v@>d2jWN#WFWtC4aJYKz%0uyH6K${~b5c*vvSDE65kBZg zqt$BFb=`3_+NfwBp{=84@zepCWQ9q}Zk0zLdc@@mel8C>; zJ|K7LJosqYF>2_iRtl`sH;Pl-S-osf2w6j7BXF&H(XeLT*&#=H6B_^N>ZXwp;1j>3 zhnIIIAL-W2FRW8_*Wu)1G7Lk{L#s`L;Mo1~<~lN;)3L8)rX!^UiV{6w%m@`j)gVS{ z3Lz`26yz19fTiSp84}dxo<6+^3N}P57-^UH$srlZp_}W(C7Nmg!-T4})<28^ZvIN> ziQB+e_t1y9U8V(Y&Y5Un(5cOhG;4F$#;(~J4u)0Qm~Ya-5Qb!3n{yg0kqxAIr32Zp z4!bx!9LBMb?GeAo%u`;wjauI^O{jF)Ed*v?0!RK^<@)2{xd-2D_{O0|8?QCcBk}1_ z6?E7UZbl*!`B3FLd7*+hM%dT_GY2DTjIyYKOqEEj^iTP)oyks850$)=`cr74=d~j& zff4L|OjPBwaUIk9>P|#vI2=4c5#yU^io;U?*W%QO%ffRQlXBLE1Y`4JBap|Y_)e`@ zlVvhYjTDy6vUpIdAe)G&2t+-$jMRjNa?7gg_X{C%`m&Af=h3@h;F5i3mO<+dG_%DB z&c;Mky%(Ax*(6IEa_Th=H1sm`yna_`qL-AfaGV9ED!JqRozFxZdcxHZ zK}G?kZXV0%B3A@Wm$Qk&p5NenQUWZ;&kZM@kH3z&)yW$1$$eVy1B`kR5VRiR)(c1A zqbr&j%pxojLh#@m4hT_bhA`te>@AneWkW^cABoGkb8=$j+N~`UCZb3j{48#4stP^m zS5S?!&LxZrOOjL0*~;j4+`8PX5^5Hb!w?KKo6WE>+r55s)i1q0!(g)4nlUlR5Dl8ucW*rXt-6)tL` z6nLx{rai(brDr?RyV)4kQh; z#!hW)&mY-nT5CH=dAIL#!<%PM-@bi2?d@OLxN3Z!EV%5#7wX;NV}5GC*DG- zWv@=glokgGsR-8CeHy8qiZwzjfZb)t2Ic_G1~nCEaKTqF@;D#|1BG%Q6~)F_Hjc3- zZVIWX1s9fvT^+_&%1~FH z5EDhFU>1x5(1JUTkpl$DG`sm8*dy83VToaY`fA>S*$|Z?Xlz2euHuL#cZ|xYYyL@_ zT7AmAZl#ZgS|{I`n~v~xDSnS^c1K5f1|pJr1)2^0&fe8a7j1jvuJ&QxS`+qZHE(Ae z8Xgk*Hs>K)h7Du`Ysa?o#YztMt)?2>X{DP@NsHvCs+jA}OM$tN??!dKb7H-*RcpGF zr`&I{i2MZnL)jyaJpA1qJ0nMC=5CAz$vPz5XQ9P{tC+Y0Y60Nnn!wx;M<%v{70l29 z@Q@;_J~caHeyh2LzF@ks%uW9~R`b*9*(;WMAQ^e_qZFGf0>IxCtpju4Kgrw4Yf-M# zxriLrStYIvjsX>^00LQXPYX4(Lx%C{{pJ8A*TFj8nL-Kj=+z9$LMCRSl$Ej|iz8ZG zUaOkLN(tC2>ao{~kB05=MKd+}7>_~#XYrTmaRqRep`NWtcw}m(t~rA!ax(vg9A^ym z7{B@>^24MTCu*R_E04a4_Om~gBe3fuHT01)E>)a!t!%67(Zjmc9Af7w(=ZsXPlO{q zOV>D#5;Aw#&|oF}u`WtHUZ$wwb+zCPr5WMvX;4W*_4E-YRH`FR$gh~(MN>N?KfH!M z;p3ZVk9b%se)>j;-|-cpy{2Ti1#miuAc9#W3see)pd6H2MJot7uO95BgPv$6&QumXF_Ws)44Scv4XKBepm&YBlDfpW5k{HY0tPM}1# zv9$oOv-e=gnE(-sh#3+oGDS0O+xFtci(BW;!3@iNO?k*E$uQ)Ua!w*r<&Ob~pvc@% zh#|(YfR2%fRK(c`-eobf7}(7EzIUEo2qB9&6mMKBr$bVrz%g(L6hi@egiyeWR<$dR ztpJI^$yws^j`15FQ*TT+Dy|!?zxbY{H>5OZl9r+cXilQi%YL+8`PyqQU3~J<^NYt{ z{_>X=%2&^wdHv3vS!k4?92AyRssNYQW}qX2AX}4t$2(%YJDdt^lS6Q61;AL{->)T| z1cAL*%^YU)foVSt%UOG{++VffX6j$QbMu*JpFY^%|DDf#@_WAP1Nz#%S=;SryWcP8 zi|x~=&-~Uu`;9H`9@{>5I(1=xzzU#%*eYz5(+1C7^vQ0Mt{vzR#qE``oAZxIaVAYH zo{sEnio=TyG$UvZWCl*YJd&zL3$0Su%d8L>XvIb$+IsvwM(S`i*R6lzco1ECCQ3pO z5ztVmenzn&X~PU^(ex^&%22MQVX?|kb<2|r~oldNXfE>nJ0aZ9q5v!QY4fhE2N-tjq`A|mEI(k(9Q<>y3jUDI_v86t+B4(oz5%}ge zQ?XXoF_9@uR3zWOdGncfynW;Bnbpp{ePFRzgeH=d8Lrl4a1T>_P$s_JH96rZ?3 zYj@o0CjugK1zKg(713z{TT+dL^=OdEfoy%X7v+h?rVVv&g}@w{V&Fj5G%+w5rVx3| zHZwDB=CyDw6NoyJ2wLT6B#_F`u%trXNFY_o5CI7&yBWhsOjU)7)!rJ-R1r1hcv`Y9 z*InmAkf{RzFck+1**X+dPf!vw5kq~cArn$zGgE;{Fbg)889LEhD<1AOo(?Qd>}!5y z8MMe7H%E_L&}0s#E{%B}oAh2itHF$!MrH9B2|6{~t?xsdOekD)8OE;{8XK2hgRU_! zR*%g9v9J|wbb)Ud`lU_u(0-GJF|cnOxYXS8QBysso;}Bh?MMguAtmoOT2dcYH=~56 z8>V`c;}VX^B;k;yx1xKgg%N|n&eslxR?#I(5BAdTzKI}`s#0Jy4RVIk6rxTrG6e-_ zhMMPx1&YxkL;b9@Tpjd%9|NNamSKiuBDD`@YZ-ST7Pv=8P0^S^IkwIAHdcE(J39rF zm$L_aL~cy9L9@NNb>_?&%oo@@$U_2)!xJR42|No&*jolNCa9q%eAWt2 zR1sJh8I~DFmSEa2W?`{;dT;ms=U#c?(I*~%*9YEr?fEZ!>BX1d@z|3OZrxD=1y+z` zl?v*u1HCdJ;$s`(7%DLu)D98$U9iFB80-tK=NXCXW@}0%#U?Hms}LTD_JQx@bm6Hd zw=P_I&$Dm)$VdLqM=qcL5C6{J`rm%#m)~|bZJgQ`Mk3o>%m$I?zx3H}n>~8DJ9TCV zZLi3LCL*wqC3B#5!B(0n`5#q@1Jq13kgEcOnVS$tCHhpe;kC7YWlTu*uXl(5au-$| zLQ>AT%a}=ABnw7c!rQ4tChs)3)9Kk!Z%S}3s<)3ytAN>aQlw@z*yO?^H8x^%inaxi zN4P6QlY$XL9BiO*>VBviv*Raz1~PI)0I>qu5OdCwCD)0Hl@uMWu`E*8#A@>P)LUc| zv8b>CG9U??nr1T+V^9DG@YpNkqI-tce~!^H!O#?As!lpK_oH+){zY?Iau@pdUSyJJDXA( zgP+t!)j=V62fxZgBeg$Hftfr&sYrfn6BN__{Z#hwFvHb1RRevv_e^5}eIjzVTIY3o zx~NDhOfr?%0~z;LFvl2Yq3t+yPB#loOc@s0QlegzT(3|?N{96`kXiufgwI>t{fA$! zQcidQO*{p(SCrZM+pfDSrt6rFYQTY+Mc1f#laQHXpe8WGnkEF|;611{=0GiOtcRZ^ zs*oJwMrNW$svsfN!m#A1MnWpZyl6tK91LRQS-T|WQQk&sL6avWRp~&H%=*G(lQ~cg z7G!sEhES^AsTqgXWLaagY-(0j*Cu|*XHQX4;aWgfq>%?JJOr^h{dlafvxn<+zM=$v z>Owm)@p0WAvw|I5Q_?2kTec2LA{-|9+e8vX3Yv-q%bHbQNUjlA#qaDJiNm1_*uR#} zq@~fx#zxG3qC3KfF!?IT`~;7VA3@au|e`dE{{Tks*Y5@DI#&hO#_M6v}PF= zC>&V78u~?;c~~D5NeAZ{dtRK87Y9Yi8bUzQtXg`yk+8K$_iis&%h<*&DIw3$1Vlz; zgfnN(T)cQ0vjtK@O0G8@a(1CelAMve(aR-zkfIm*%uR?P1dd_!{wfY({XD6z0Lw(I z=C`Y=XK@{^wzE=gNEhRd=e^~uk_X8mlA&UnpaU`rKTGT(_adVdH2!J%#7ZSPju~Rp z!d3$0lG7XF<|1s*_cQj8!|CmN!}9r8UVP%pr7PQKU;fPJ7qK-8MxJ*gi7czQPMg;B z*OH>g#m;r83GIhlE#vZn?exG_xs8{uUj2!m{;z-i z!~f{dzWl|<-}R0wm(MR7{`L=k@BTmjO^6zRCbaYUm%s4E2Dmamb3V+r%QUWVNdbzn zwNwOSWvOvnqzITTXESS>W|Skx7)5k?{_$I8Z6}>{?24qaPheR#yy`fZ29vpRr@Ymp z121$0%+uY4zB<=4d){-^wf(MYtWkQv1qOG_D{KMoj|UmVas&lL@!6%%aG6c5eq$dh z(dbUFBholH=S3Ope96A=g$jw;#?TD!I(hzA6;zLryH=A02g?Z|A!kT}Cge;Zn* z+=8(dv6SUoxl{xb!{WqbIZn?H5hM#R`^YxxBhVTU^X5Mo2*hLUUIY@}310PgUw!@D zqnFQJIxEum4O@syghnYuK@6&0LS_hC6IEL7+`%;#&|W4E!!Yek>ll|NiMb4q)C^!H zHYP#<7q%{F8s>EzVvBFaHg|k!JtoyCo85G9H1?8CpzHd)K4%pf`hFOOl(OVZrp)TV zjA;aSsX&wvI8YN~8`}lAVMO(l6Dy%13;;_uGfG(zjxu~}r(CfPgImwEsl>O|#6j{t zw2By!k`i&<2gd?>Lf2i7hKdI7NL--B&@?EZ)>1$R4n&~H#0VTXcno%Nn+bQL_IJ_< zg!<-3st`3~Ulm|VBt*(l9l^;#Nez-qreA@iYMq7oRiB{DO;<#kKjKd0|>7=QY(QDG-*n2L0=rSlYt<`XV zLs*FFD9`tMgD1AL$K_~s4*HjLS{&C=NX<=rNcH^xnu+j8W1HWwfS#--bfVN`d~F-Q zzPO|-v00mJ)|>7uX_crrR*hW9JM@l8pRT2WNa+3ta3Zf)w$Y~K~u0Sr4 zKTH6r);utq#Ceu8o*9|3F$42<|Fyjp`bF3z4GJOa0zyED6wjZ%uyO7@z}Q=+oK^Lp zUuBh~k}V}jh6===bVL(Sc(IZAh*8WYf#<#oX33##Ml6~e9;amcBfgoeLKXu}vaD5o zROdxoHqEA)ESU@_+LAKe#(2c$iEEIn91~obcw+cuh44v^z+YmyQ{Zdxw?1zt_GqI3ls&C06^$4Q|S1ae2U;0huv~Q;>Mb{ z;7O|4VX;N8LKFinX1Ps+47u(8(vSY=FZ|rkzU7&>zw`XL&wut)@BjWk|KSh+!`1%Y zU)tDA%pxET%>3F5FFny-eq?cKEAxg$M9*eZ?_f3!(@M)4QlTs3^5jjO&~+^04Y|=F zJ#A>Y-l^~V>EI~F*tTtm5j*z}8uZ+VU-xQ30pnKD*g7lvprgHx9z-3ZM#fiARmC*8 zu!q;N!IjItw(m%RKNuMVDWZ)O2s~I4sCe)I`J6}VK+mIgOrgS_@LW*MR?rl|RqsiJ z%!C6o(C{c%J92jOk{b20F!C@$9c&OZ8J3U}vOor8K!YI~#Yqz3n!Hi}xvf1&p5f-& zNMghQ4hRt;P=rd>l#mBdB3_y9V^~TuXalAgkc&E{wGuO4InXqMkiTZBz>#4~eIX)_ zwx11ePV@s3MZe28pj! z!!S$>=%#6=UmvsRMFxT~jNuygir*!`Q(f36wE^liU#`<9IxYk~4t;vF9^vp~YEC!? zJ`DAvh@n zLuE9it^b=yEV<&sf`j$d#xIyLB%6vK z1wAZ5Je;DQ*chcLuY)K2O(L4 zbt5|&^LJ?YI~ll`>WN#UJVdH7WuqNxOWV3GwL1ANNih?bYX~6(1V2H-LI?yKFMBh~ zwG$lTC-%j)cvinb?erx%g3ApGMBtZ(hH!ec{&5od?+2z!oeUu+c6~oj!l=>^X!6yZgf`^?g4K znPOP(u7;GdYR$vQ1QtkxZXUY%Y}Uo5YuZIOYnsO2wxREr%jK%?%`CLdY&M%M=CT@m z7~wPhoJ)Ln*L8#BoU_@w*(@Rq3^{RbI>0j^d>Qh$rcXmwQL|)usOl(PtA}d}T}k6C z3ne2oXqh4rMT@JebYrJJ?6O%%NGWdZ6>S0|pQW(2#Ow zg(vAK05k|hmH{(sLa-v^wlYlcD>4T1)DWVkZ2_$E!O#yY^mA+@>TX`1-M(<|V1LJS z^N|aG@h|^7zxpqJ`>*`9|MbJZ{J&nm{@Tuid;jQ{fAMer?Z5rgfA7Blhl8P4((Ndg%x-fJI zY1rr}aC<-P9USD#=gx(lQpbR)Ea7G;B_-sc2UF9wM3hYp7DEgmbyK@4)ea!T8gv9C z%h~JB5Dl74258r{fv8`tmRON-*DTt3cd%ND>5x)Kp^eQd9~jd1>^xRJk_%1Sc1;`H z6U%hauau1`z_J-JxJ4Y?H-tiZsUfDhSBq#9Btr}=(0y68AVB}NN=ZL1PR zGIdHn!$@?LGE$b@wOvC&hoqJn+@YOwGaMW&x>5S{vN9O4Q@ptLg)cw*-gh@yNb~0AV&8PJSjcLK4Y+AlvzP{CCKYHyE8oA` z+>H=V5ox;CtH#(iB~>b=obxPh`juv82wqOHfkgpmreK7~>tdoL+mD{My19(bMax7S zxfbY0x;bmL;bB?hdiZQQ&Q8mTHv|B~F!(ukHk-MJK~+NtUDvs0!+$yvIS-16{HPE@ za12k***{9olKtm6PJ{`Tb9TKFaoMXY?}!K-W7{-c2n{%bm^ci>kh1{Xc5?uIe_%u* zG+Fy2#);7(Gulgvd9m!*g%qrsLI^Rk8Ks<^-|e{W+B7j{76;3Y#?B&!F2RJpmsUwP z0f=!n;|bU=z?hk!P1i+&1Hh}S(-XE@OmI0yY7jFMLbf7q&Y)Zejso?Wln^VE1qKBO zQDBX1>ZmXnM3A*2w>;w~jLqQDZC-XfvKn_=(m`tr!cRk1_eYwL-B5eCMx{QS9&ts) z2j#M+6fuBYJ5nS0p#Y+pCt{MX!r8_re_c!ecwIwRuP9BReZ_4EgNRK>;T3VU?nr4Z z5lT;D>OnsIyYWPbvgQ`65s7gXIhi_zfS@3%l4u&|+hn)rei)LJJPfqG;3*w-h1=??9K= zBupfZfqg~JIge?#qZW4DFxKa*DO=t1aHfdg!v3@B7>2+yEW@NumUWWB>!Kn*tuer^ z`Ue7tDwMMz`u(7##K!mU?Y#A^Prr2c_A}2sbK&A;G5Tk}@z1~i2Y&E{8#i~CyQ!D? znMGE)a^AGsX1vESrRUVr^p|LMXdN!(Zy)W0Md9 zV6__dL#&s}0D4K&S zcrkmhySKtYi}uX+*`{sp?d{xraBbdfauc_<&gg2`+uuDKHnzCEwtD>uT=g`;QEy{L zF0-lYn_tiYCBX-_-fqMQTBnE^mXQ;3kDN^hWcMk%&0thJXkEUIAcuJuzO|Am8Ix%M zB0^-26aW>G1XXa)vXtSjtoD(~z(n=?m)yZIZM*0mD)W!OMov#5GBa8$D zTJH~EuO*Jwy=^<@E*QUP0PXh+!QSh)`Uku7(+g2+Ll6QtO%P)?lK|w#g0ZMsY)b=( zIWxx)atL{>ZoO{yqo5bioQHaV1c$)P0+?wmrHiqdB8(ll7$aLnE1o1W{$}W&{eJO> z)`w4!LI_@29_F*T+-_7&SP^fi4#OZRi-%PBQ#BBj%Nl3J>O3iYIeO1Kc=c??rVwKV zu?3%jtC6ZEkwRfS23Huj3rwWH0GK*o%9&a!!H3zD)li|#u8{YCMJDx(H8P~f_FpY0 zbxl6AIA3hKo|TycaUtLWO%s?o*6@*vLp4L0%4I8BF;!Eu!9-L=C97mh)!S=oZ~>x{ z89@WV$e5G~Y{q1y;<_~l+!+ZFKvqX$g~c(-C7dEgE=Nc3WK5`m1*YSe*sRh8OPz0Q zq);&qR?^q~|9}n7?k~5otch2yW2k!TDWeQFRj`cXDSp`X9ZpszXmNv1-m$3!-i7gM z#-ut5EY`__K9{UC+**UX&FIKnm@v&kKO(d$CPF|d69rNuhN+r)exRc^oUJn+&0L|A z4`F36ia<&^zAl&&TyZYm`BS)`;0nIHt037aa%(1vzUQ>DhDKvEhc<@tQR zTrP7Svy{M|PG4daTzbheB*f?~gj1)s(8b~IZGogAD>NVwQA5qF?apkU59co+rGxu- zRtLkGGiP`<=hdoD!yq|HPG!I^1alNvquhYo5WCpK7-I+oh*_ForwiVSm8X-^>B(7(EWBma@ZPvCB zT`U%_y!g_&bLU=u`QF5v9WRc=B=k5d*aid_@noI`+Gh${O)|SYtT`$>tA@`5*ANw zUR*4t%Rul8NEJ#FS>pm>Iz0`lo7 z4cl9_N*nF`!NLAb>YI((^ZkRH_pZlTck$}h&d%!8z2T9#@xP{_Jds&8dwjj&5`UeBBv9)zy9<GsoU=_1 z00tz>0?ud?a)Jz&2TQ@gYQg-zE-<^%_HJgz5OoY?;h=dZL^T1%;HKy|m_S38fniNZ zq<7QaUF`2d8scaah$4zm+)|>*Mtr?W~Q4U zEms>c-g@zs%QtSHKKs;u&P@{n2Q>=;B#L0cVj>B!OwuTgWabF7|a1)s^6-KXT z$Th3Wc@*Oj!u1DJUsH`4Rg~h*yfp-ZvKUlpti)M$ln$|y2Cz@vRaGq)iHp+VDuR5% zU!16Q07FC}c76u%nu-Hb>J6H6BDTVv3!p-bHVBjY`%#<@lcJ^2MO2{bs2hs2&8;f> zbggF*i$vzpmZ9ahXM=ePx9@pbMI?(iZ#AoGlAL825s3gqvr+l`;#ZxCsiTZlG?`^J z0X$|v^Mt||ykC4+R-vOoQary#$cU|Ev}z4WQqz%S$G)(t8j&iL%&{E`XZx^mKvdS6 zl3stH62co=Uypa4zt&@O=`>GfF8)sIL<-_M?eftjpEWB{#~u||^oV0nN1b}rj*ktz z<25wddYw~KVhhSpm?uvv%)kM`K}ldxp`8*jL(0(UFudOJEd z>_ZfPz_mjtA%2`7bY`6{|At(BqKTpR&t2FbP~JH_oE%v{^0hZeWhn8+&>0&L*FG z;@r1B{jF!d`#bc(-9Pz*j}I^3x^e%7{add*hevgzyoTyMRV(MNk^YhESDcemC6kWQ zp)q4fVMNg^@2w8{h!DHb(7@Qdcwy(>{hRmisAdKmQCex<(R;TZT$*3H{K(_n=iR%z zE$kG{4${zK4h}{T5shPiUDtz1BBl^DA71DLYiTSLs>T_XAsL#G2c%vjgE}kXwrE`E zfF*6mHv%n#mlCP%;gqTfum;>9G#nTKkO4V?qz%2Ld&BB3mOZSq5I_w)eXNi%#@=%% z01z@i?XNQkPDm-5GVHKMK2Hy>V`)B#F{;xTd&q9}4c5?82#*0XSj+MD>o@LSd;P+* zPlX~JX9@@gMg$AjxmTcuWvxOKkx>1DDJ9SB=A2bEsAsFlxc$fm3e z2$2KTh{Yb}a0HaSI?nqcX?xsu%;r9GJOnH=K5A zCJu>)1&Ne%E+JyU13C?0@3fZfzWB#{imvqsnK}U3JZ~GZ+t|cN;Gbl0v0IbPq&D1 zSILx7)i=1c4@I+;c*6vGp*-8_YNR|F?V!eYk!lzO>O8Rltu^6azE{=px8`n%ru{?C2#lRx&uKl1bc!_URs zf979)^xHNrtx~$MSbX8ypDLEmp1smOSZ(XPfJq`&F=SH@q=p4(_BUXB<)Lb_W<}w! z8s|ir6A{hl^HEjlnUwyo4$^RjLIa?ip`qo)jYmK5&Wk_rJ$UbX@cX~V&p!3uAO1o4 zKYs0n_M=x{d2;pn*UV%j`mJGbhLn=ed`g$pvvCR>`f%?60C0PC``r8jLvJ12Oqowz zz8pzkxp{q`G;(<2UC(~^cYfEo@AwX!+QywbxOL+bfAYt_^IO0D^3Cg)x6foqM3`?Z zR{P5epy1-^q+o_5UO{u&s+w1=c;(|Gy zpG*trBfz_{EvX=Te5T%s02C0m%<0R(e z8)euXDaXfMY#jQzt;i+CAp`_I8Z=0Hq@G#x`)b}Q`5;gYDrA5uh3PCjOr*0ZX>4m3 zA4~|$;H(}aXk|%P1r()dw<>a+BIHqiPh*fVbBt|_aX#B_nh-*8)Sap@MF4%@t7R1* zTe{s@%`94|VOuVTbs`7(rd$eWMIEyt&NnuWh39G2Yy@u@iy}J$&Mb@b4od+&h#O8z zJ2|D4^N>~6hbNbD`ux_UB-28S)VN}e#SmZwHVE-}HZ3e{!a7f_8qdqD+YGAA3=@aw zSruV}2$T^5L@4LT#9(D|B5O_VBLW+-5W9q5Op< zO%s_DF>%cWKn<=h(vcC0QY@HO(_AC#L1F`E9d`C8NdOcO)1-13^=l9((w68PQ=6Dp zRV0fBVv0SIf;mQa=?Vi zpeD!9mZO2@cmb`dj;t?172doQ8B6ety2OK%7v%@;`jZ9KYRJh=PzA+<>i;J9UMIO=o5eXrB9tZ zeI|yGMMEHF&fXbqIAx*3Ns~krj$vO94V~Ft>;+>t!AM&Xk(ZVUnVN{~rX_8(vr{v@ zYX-Y<=SK6|YmLfpe(d9KdFt8!?q~j+ANl^j@Uh?d=yOj!{l~xm(f5DLw+`3ta-`L2 zb^DdqE@Au8ZhOAGhbDp<&=qVIK_QX`WJU%^G09JH65*8PTo8mPLgXP2WA5N|!;UeI zZMhL|r>bcfLc5sr2D;{2-r0NN^xHo8K0Nir@BX#FH5=@O`#0bHV?X%z|LCtiq54}t z^AF$qjw|8IH^!BO0tYGuyok8bElV~+q*#7#<=Y!9Pd2^O) z_Qm6kh3k8_u5MqpT^NxPR3V=I3ClT;l0Txr1(He++aQ!+j#h=_aum#BjaViNB~Xbt z7?1fNLTi+%qpxWVfH#6g#1^sPP{Nj=1|-vE)}4H?k6{2|#MWS zPmnPj1=zi@0NU~8hjlCy3j4Z=^Yz!w#{xwJ56j}r;0Zs%UDdUrn|sI;660sh{aGPq-$e8*13RL zO|lBZdplG#GC8UBX&AC5EzW9tSRLh1JcBYv=GZjNY&M&DPz_5xalBx0`jB4Q10OeMf|q7s38H~KT2ISA@f+eWl%&}m`b{G zEY#;i@q|@QCROJoj!`r-BOxl!x9a5hh;4Qp!~lmO(0CI_pld4j*So|_9ngnZn4@%$ z#)v>$yESdZ_Le3zgHWpk#|}bt^}JDU;N>p5b&WN`r)@f z{=|p=^$&gNqrZdu_y6Qy{j0ZKed^5Fv)5jD`QF_-?^`_H^m01RpadqU?5nOqXd{y_ zdc|PcINg%UA;rvRrIr#V_;V2%8Fs#LjD>Q^*GdUBu+aaG?>-&Jh8Xjib#!y4i*I`h zPd|G9_daT`-g)0!zU6Xm{@^!%kDs{k%#Zxg_XK?8zyJ9kYT6_MkuinGBrA-RLI~Nk zc7Dol($FDN|F|42HaBkV-Oix-Y$F<>PmjO#E${ix_nrBPAARlDe(jfj`oH}07rzuh zp>2NuQ-Ac~fBGx$de^)D^56KI|H0q;sgL}FpZnq`KGijgj%GJ@Zaztm6~tRn^m9Ew ztOcm%rlVh~1))jE#;&|Wrn1x_B`g2vl5CV^YdYODXDZ}d6Gap*3jb$CL&W4URm`biHK%V zRVRvB7S(KxK~3v`pKSC%70K}tsKD1c@&1|$=qkx5URy7qeR;{IWBG_lbhe22RMrz> z#vP$;Tg{@#V=A5Zn?xMJp+uhW$38n^A~Q*n(f5tD%&u9CB9>AbhTg1Ceeamm5AglDX)2ls;YhOMRqBm)lpMo-f1#_KAFmohh zCR2(ElR;q$g=b!pmmDZfRa6q{C;@a(k=p12sS-z11w>7VL=j>gCDsR%qoBPHYGQVqW=ZF6gU# z+_5S_N%nq2Ql=exI$o2HLZ!pc(Z=SqnT4`uu2UlY-Z*rT5st3{lN$Q}7qpG9e)x6# z%{pi_oYey6>(^{$oYCv4~3boiqp_pv&s+3R4{BsAP zI}_cG2vCd+qUCZ)L@KJ#05lT!O})iT}^eK zw8VVv<8=da+;zrVyHb|MSF9LT)U+nh697MHtWBImzIxd-p5<%QydOFA9=YZXMrx6H zV>W;B#>;Pg>sxPLzw!9vkH6OM-nn-_ZqU2m`7M9&sXw}U`H?_09IPHYdpSSY9flz^ zZP#^O*U9dXko6&RkT>24>ziK7k+Fat2KZJd$T=rT8Oj_kU%I??_SCD_uj%Ej-KAo| zpZe6N9&mj0%9TYo+dg%Edvoi5`I(=+^YROCyK?D0?|kmgy`Akdr$71oA6sF0_0pBR zvubBsSQdWHV3NU2AQOfNvYkl*3;ke>TmzyskdBx?9sFT-+t@mC;yEfyztpi z$6xyV=p76(x@IG*_)%>-+c2~2$hY!-uhna2_WIuImrp+`fxdj_+KTx*zyEul`p^&K zop1k{pZu%4_a8{gm##jt=w{1)wOlSm^@}fj`S1SZfBaMb`QQE5{`!CRKmR9x{k7fK zKKS%^|JfHmJFb4y0D&@Qd?V>I$ZO~Vf(l;Ig8O6Wh)Nr3F zW|I~AB~}Rvj>;6hqAdsyFX9iAJu1bOf&7NO=i`;1our|{o2A?PDg@BS%VLsQRAGp%;LI_qf4qTD!KCo!(JIynvO2~7O6dP0=8t+H> z9GZt+-%}mo_<}EWo`JGViXgUcC6( z7eBX%QAGrjO#o$AD;NY8Fx*QASI%C!e)rBZPre5$y1!)8?Z$=((=3l(ymH~$cVM~m z^7Eg~A?>CVnHRJ9>~w=pvA?&U?j7*no*oQHfGyC>(agcy!+bk#*y(w0ni!+s<|$=` zg|>+aec!8U(=<&NN3bZj3lmYxs-mV+hjb~Y;<4pgj+g;B6`IBaMB_}_CI*5MwQ~vs zsrdj@kq*%BG+83g4nm!fGXczzh=K(bVl0oA% zyg113xOjPI_rcwJH@7xtm%$e$+{t(MK6&u2ft#iY?d%q>ZoU5cGZ!Dly?v}wpKouT z-Fo5nwYO}Y*<0;g4vT{x~;_W z${Bj@&%gWikA3Qq+&*~ywarH_??`{;3wu9-w)qFYzVq+v_x|kP`O+W!jeOAGyKyTj zuAJLW%hkPmJMGqd$jO2+N1HD!<&?Dp&zi-(emPg(&a?q)U;yuf@6Gt$qWQ!5@>N^T z-*frLfBeTE|KJa;e*2?;|HnS`K3rHf+eW%|N6*>PkZ%Jw8pEvJ-(CK~fBSQP<(K}) zvp@L*fAWj}`$xa{dq09l_w2q&XHA1P9JGV-|3loH$69t>XMW#Wd!KXfeRIt$4iZI) zq9)UpsClx6wz}hX22YC7vD4i~198$B3?vN$N#Gz2BW`2>j7~a61DT8%cDg;Z-LhNm zD1d2Awj^qxOi7d|(j1C4y&B$hhjaE`Yvqr%&$;KlS4E1};D-Y7-m7BOyXT&>_u6ZH z-|w?TZ4;eJr6Fs8vVn*_B1vL|8LLhVBVj9u^0^H>8Ts$I5QlIj2IG(db?eF3oQQ z@Cxc=OuGlo<*VW5&9&2;)wr5d&MW{YFd_I!kqyj4DgW~H+qNw;S5@c_^D)){+IA5J zM@m)Ys<=KpT!%Wyf&X9Q(2eYRO}`uLh!|W^s3~%+5Gq3urBNq;I+6@{NG7LC(_U>_ zCe!Osxbs}MM?--RsMHnt9!<%48&T&jZbWtp5s&9;rfDJ4M%fP`Fh?^>s+I+*m6RlDv<%jqb4Emo@>U>w zyM%q#Yf2WG#ubl8v_8Vx#5Q=9RYkSOgc5T-s=2CWn6avG$Q(>;s+tU9`NW`;$js3p zbt(1y82CZR->}#;jYtv^(WE)IY0BTxX1hU&XN6C)n_&7G#kvL1cch@To0I6w8+~k~e zIJ!NAQ$2D4hhG-NBz0~EO)6Q$9kga9ngP_PTa(*0bqvPf`Fy?_S3_Orc@siNIr)fr zYqE9b%o(IK-QM2Y+e@hdSX7vKG#Y`~Qqt7vZjFWxA-94JiJ`;y%Ljt4iybcRhC{Gk z!1{AzZyG+*^}!%`cDTnR6%T9h{~nK-9bRo;LdZbh+6*LwaP8XV>$Eucs(bIf_ue{I zdET5peOj=%^2~*^Yn$Wo`0CA@s~f9Z=gwby_VOtnqqlYq+VHphk-o*J=8#leiu0ZP zyb4dA4&&2XI<78UyE2=E^?T0kSZidbPoLK5;+x-iV(0SJ6KflBRM+ECJDUf^%6RhJ z*B{Sl)+ei@s^W%_QU^yRC*>8bxh;?K)Y$@x27{=d;r5Px|8miNzi-R=n>8AZhU4SD zwqDHVS*tjzXvAkvpFy>{las< z@z1V2(qMOS@wp3k)N8MqoVt4T!l`(|casF<%t=I%3@y%|X!obv2h&|(%wwHYJ3%gn z=7P4_Zmhc z6-j0hW?)5_r*Lv_V;+M2qFZ_QgK*JXV

O_LTtN=Z=# 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

`A!H8Atu-d=TleDdZ^+qOcBwv$cQY7h*9 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≀bXO8r(bympJ4(Xl>?|QRX9WHNCF= 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 literal 0 HcmV?d00001 From 5d9c47290a289427e3fed2c0871706d3dd31a4b7 Mon Sep 17 00:00:00 2001 From: Jun An <30628325+ChinJunAn@users.noreply.github.com> Date: Tue, 21 Feb 2023 21:07:48 +0800 Subject: [PATCH 007/470] Update README.md --- README.md | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 19f25356e89..f181ff58323 100644 --- a/README.md +++ b/README.md @@ -4,13 +4,21 @@ ![Ui](docs/images/Ui.png) -* This is **a sample project for Software Engineering (SE) students**.
- Example usages: - * as a starting point of a course project (as opposed to writing everything from scratch) - * as a case study -* The project simulates an ongoing software project for a desktop application (called _AddressBook_) used for managing contact details. - * It is **written in OOP fashion**. It provides a **reasonably well-written** code base **bigger** (around 6 KLoC) than what students usually write in beginner-level SE modules, without being overwhelmingly big. - * It comes with a **reasonable level of user and developer documentation**. -* It is named `AddressBook Level 3` (`AB3` for short) because it was initially created as a part of a series of `AddressBook` projects (`Level 1`, `Level 2`, `Level 3` ...). -* For the detailed documentation of this project, see the **[Address Book Product Website](https://se-education.org/addressbook-level3)**. -* This project is a **part of the se-education.org** initiative. If you would like to contribute code to this project, see [se-education.org](https://se-education.org#https://se-education.org/#contributing) for more info. +Duke Driver is a desktop app for optimizing and managing delivery jobs and contacts. If you are looking to perform better at your delivery job, Duke Driver can assist you to finish your daily tasks more efficiently, according to your requirements. + +Features +* Delivery tasking management system: + - View jobs + - Add jobs +* Route planning and generation: + - Generate sequence of jobs with total shortest distance + - Display map +* Direct messaging : + - Linked to contact list + - Text messaging +* Stats dashboard: + - List all jobs + - Show total number of jobs + +------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +* This project is based on the AddressBook-Level3 project created by the [SE-EDU initiative](https://se-education.org). From 318ababc3741fbfa8dc1d5f000fb2155902915eb Mon Sep 17 00:00:00 2001 From: Jun An <30628325+ChinJunAn@users.noreply.github.com> Date: Tue, 21 Feb 2023 21:16:57 +0800 Subject: [PATCH 008/470] Update UserGuide.md --- docs/UserGuide.md | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index e7df68b01ea..001f08aae27 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -3,10 +3,23 @@ layout: page title: User Guide --- -AddressBook Level 3 (AB3) is a **desktop app for managing contacts, optimized for use via a Command Line Interface** (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, AB3 can get your contact management tasks done faster than traditional GUI apps. +Duke Driver is a desktop app for optimizing and managing delivery jobs and contacts. If you are looking to perform better at your delivery job, Duke Driver can assist you to finish your daily tasks more efficiently, according to your requirements. * Table of Contents -{:toc} + * Feature Tracks (plan for v1.2) + * Delivery tasking management system: + * View jobs + * Add jobs + * Route planning and generation: + * Generate sequence of jobs with total shortest distance + * Display map + * Direct messaging: + * Linked with contact list (dummy) + * Text messaging + * Stats dashboard: + * List all jobs + * Show total number of jobs + -------------------------------------------------------------------------------------------------------------------- @@ -14,11 +27,11 @@ AddressBook Level 3 (AB3) is a **desktop app for managing contacts, optimized fo 1. Ensure you have Java `11` or above installed in your Computer. -1. Download the latest `addressbook.jar` from [here](https://github.com/se-edu/addressbook-level3/releases). +1. Download the latest `dukeDriver.jar` from [here](https://github.com/). 1. Copy the file to the folder you want to use as the _home folder_ for your AddressBook. -1. Open a command terminal, `cd` into the folder you put the jar file in, and use the `java -jar addressbook.jar` command to run the application.
+1. Open a command terminal, `cd` into the folder you put the jar file in, and use the `java -jar dukeDriver.jar` command to run the application.
A GUI similar to the below should appear in a few seconds. Note how the app contains some sample data.
![Ui](images/Ui.png) From 72ab33a28db556761860aad631095fdd36a38f89 Mon Sep 17 00:00:00 2001 From: Jun An <30628325+ChinJunAn@users.noreply.github.com> Date: Tue, 21 Feb 2023 21:39:59 +0800 Subject: [PATCH 009/470] Create chinjunan.md --- docs/team/chinjunan.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 docs/team/chinjunan.md diff --git a/docs/team/chinjunan.md b/docs/team/chinjunan.md new file mode 100644 index 00000000000..031e605b137 --- /dev/null +++ b/docs/team/chinjunan.md @@ -0,0 +1,30 @@ +--- +layout: page +title: Chin Jun An's Project Portfolio Page +--- + +### Project: Duke Delivery + +Duke Delivery is a contact management app that also serves to optimise delivery jobs for user. + +Given below are my contributions to the project. + +* **New Feature**: Added the ability to generate sequence of jobs that give the shortest total distance. + * to be added soon + +* **Code contributed**: [RepoSense link]() + +* **Project management**: + * to be added soon + +* **Enhancements to existing features**: + * to be added soon + +* **Documentation**: + * User Guide: + * to be added soon + * Developer Guide: + * to be added soon + +* **Community**: + * to be added soon From 78a52f33c3cb0d78c68bd8bb57e991de780b16c7 Mon Sep 17 00:00:00 2001 From: Jun An <30628325+ChinJunAn@users.noreply.github.com> Date: Tue, 21 Feb 2023 21:47:13 +0800 Subject: [PATCH 010/470] Create chinjunan.md --- docs/team/chinjunan.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 docs/team/chinjunan.md diff --git a/docs/team/chinjunan.md b/docs/team/chinjunan.md new file mode 100644 index 00000000000..e4d5b1a729a --- /dev/null +++ b/docs/team/chinjunan.md @@ -0,0 +1,29 @@ +--- +layout: page +title: John Doe's Project Portfolio Page +--- + +### Project: AddressBook Level 3 + +A contact management app that also serves to optimise delivery jobs for user. + +Given below are my contributions to the project. + +* **New Feature**: to be added soon + +* **Code contributed**: [RepoSense link]() + +* **Project management**: + * to be added soon + +* **Enhancements to existing features**: + * to be added soon + +* **Documentation**: + * User Guide: + * to be added soon + * Developer Guide: + * to be added soon + +* **Community**: + * to be added soon From 77e43c51a95e9dfefcc45d79fd4406fee3147c76 Mon Sep 17 00:00:00 2001 From: Jun An <30628325+ChinJunAn@users.noreply.github.com> Date: Tue, 21 Feb 2023 22:06:41 +0800 Subject: [PATCH 011/470] Update DeveloperGuide.md --- docs/DeveloperGuide.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 46eae8ee565..5784d488a63 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -262,8 +262,11 @@ _{Explain here how the data archiving feature will be implemented}_ * can type fast * prefers typing to mouse interactions * is reasonably comfortable using CLI apps +* delivery man with >50 deliveries in a day +* drives constanly with a laptop in the van +* lazy, doesn't like to micromanage -**Value proposition**: manage contacts faster than a typical mouse/GUI driven app +**Value proposition**: manage contacts faster than a typical mouse/GUI driven app. Also helps delivery men to plan the most efficient delivery route ### User stories @@ -273,10 +276,15 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli | Priority | As a …​ | I want to …​ | So that I can…​ | | -------- | ------------------------------------------ | ------------------------------ | ---------------------------------------------------------------------- | | `* * *` | new user | see usage instructions | refer to instructions when I forget how to use the App | +| `* * *` | user | add/delete jobs | | +| `* * *` | user | mark/unmakr jobs | keep track of completed jobs | | `* * *` | user | add a new person | | | `* * *` | user | delete a person | remove entries that I no longer need | | `* * *` | user | find a person by name | locate details of persons without having to go through the entire list | +| `* *` | delivery men | see most efficient route | travel lesser | | `* *` | user | hide private contact details | minimize chance of someone else seeing them by accident | +| `* *` | user | chat with my clients | improve custormer relations | +| `* *` | Gig employee | view my aggregated information | track my earnings | | `*` | user with many persons in the address book | sort persons by name | locate a person easily | *{More to be added}* From 9807efba611936e5667eb5d709796ae0c02520e6 Mon Sep 17 00:00:00 2001 From: ChinJunAn Date: Wed, 1 Mar 2023 23:28:02 +0800 Subject: [PATCH 012/470] Add UI mock up and update README --- README.md | 8 ++++---- docs/images/Ui.png | Bin 14607 -> 24940 bytes 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f181ff58323..fed91453d2b 100644 --- a/README.md +++ b/README.md @@ -4,15 +4,15 @@ ![Ui](docs/images/Ui.png) -Duke Driver is a desktop app for optimizing and managing delivery jobs and contacts. If you are looking to perform better at your delivery job, Duke Driver can assist you to finish your daily tasks more efficiently, according to your requirements. +Duke Driver is a desktop app for managing delivery jobs and contacts. If you are looking to perform better at your delivery job, Duke Driver can assist you to finish your daily tasks more efficiently, according to your requirements. Features * Delivery tasking management system: - View jobs - Add jobs -* Route planning and generation: - - Generate sequence of jobs with total shortest distance - - Display map +* Reminder and notifications: + - Set remainder for upcoming deadlines + - Get notified as soon as you open the app * Direct messaging : - Linked to contact list - Text messaging diff --git a/docs/images/Ui.png b/docs/images/Ui.png index 5bd77847aa2429edac366ebe3e00650b6dd909d8..57e9d149e88d2a8396b99241a447194a4059f506 100644 GIT binary patch literal 24940 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 @oO@Pg7|8I<)L=$=QtCf019~*vOOMO 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 H_ELC86w5#*$qm#x^%9#yZBn&Yd;cLiR0XXNZxV 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 RAXge19gVx{rMDi1{6Bg4z)AoB From 91d1fbf026095bb7e0826f1bf1a4313dcbf42838 Mon Sep 17 00:00:00 2001 From: ChinJunAn Date: Wed, 1 Mar 2023 23:50:32 +0800 Subject: [PATCH 013/470] Remove mention of route generation --- docs/DeveloperGuide.md | 1 - docs/UserGuide.md | 8 ++++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 5784d488a63..4b06fc425c2 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -281,7 +281,6 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli | `* * *` | user | add a new person | | | `* * *` | user | delete a person | remove entries that I no longer need | | `* * *` | user | find a person by name | locate details of persons without having to go through the entire list | -| `* *` | delivery men | see most efficient route | travel lesser | | `* *` | user | hide private contact details | minimize chance of someone else seeing them by accident | | `* *` | user | chat with my clients | improve custormer relations | | `* *` | Gig employee | view my aggregated information | track my earnings | diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 001f08aae27..56ee3cd8575 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -3,16 +3,16 @@ layout: page title: User Guide --- -Duke Driver is a desktop app for optimizing and managing delivery jobs and contacts. If you are looking to perform better at your delivery job, Duke Driver can assist you to finish your daily tasks more efficiently, according to your requirements. +Duke Driver is a desktop app for managing delivery jobs and contacts. If you are looking to perform better at your delivery job, Duke Driver can assist you to finish your daily tasks more efficiently, according to your requirements. * Table of Contents * Feature Tracks (plan for v1.2) * Delivery tasking management system: * View jobs * Add jobs - * Route planning and generation: - * Generate sequence of jobs with total shortest distance - * Display map + * Reminder and notifications: + * Set remainder for upcoming deadlines + * Get notified as soon as you open the app * Direct messaging: * Linked with contact list (dummy) * Text messaging From ca33a044e2ffe06c3065f505bb1c572a673b0227 Mon Sep 17 00:00:00 2001 From: ChinJunAn Date: Thu, 2 Mar 2023 09:57:51 +0800 Subject: [PATCH 014/470] Update mock UI --- docs/images/Ui.png | Bin 24940 -> 24566 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/images/Ui.png b/docs/images/Ui.png index 57e9d149e88d2a8396b99241a447194a4059f506..0dc79329fa0b0ddd757ea6e2371aa5d308d01f67 100644 GIT binary patch literal 24566 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 @oO@Pg7|8I<)L=$=QtCf019~*vOOMO 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 H Date: Thu, 2 Mar 2023 20:52:14 +0800 Subject: [PATCH 015/470] Update Ha Duong's info --- docs/AboutUs.md | 11 +++++------ docs/images/dohaduong.png | Bin 0 -> 110564 bytes docs/team/dohaduong.md | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 6 deletions(-) create mode 100644 docs/images/dohaduong.png create mode 100644 docs/team/dohaduong.md diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 4477c8f39d2..03516badb24 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -17,15 +17,14 @@ You can reach us at the email `seer[at]comp.nus.edu.sg` * Role: Developer -### Jane Doe +### Do Ha Duong - + -[[github](http://github.com/johndoe)] -[[portfolio](team/johndoe.md)] +[[github](https://github.com/dohaduong)] + +* Role: Developer -* Role: Team Lead -* Responsibilities: UI ### Johnny Doe diff --git a/docs/images/dohaduong.png b/docs/images/dohaduong.png new file mode 100644 index 0000000000000000000000000000000000000000..cccf989e5cb82694b90aa03191bcc884556fd998 GIT binary patch literal 110564 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

2B-(&e;t{ifd9qOsDRiZ(YWw9 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 Date: Thu, 2 Mar 2023 21:08:41 +0800 Subject: [PATCH 016/470] Update DG --- docs/DeveloperGuide.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 4b06fc425c2..84fba480e21 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -266,7 +266,7 @@ _{Explain here how the data archiving feature will be implemented}_ * drives constanly with a laptop in the van * lazy, doesn't like to micromanage -**Value proposition**: manage contacts faster than a typical mouse/GUI driven app. Also helps delivery men to plan the most efficient delivery route +**Value proposition**: manage contacts faster than a typical mouse/GUI driven app. Also helps delivery men to plan the most efficient delivery route and retain customer relations. ### User stories @@ -303,6 +303,17 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli Use case ends. +**Use case: Chat with a client** + +**MSS** + +1. User go to job list/contact list +2. User go to specific job/client +3. User start chatting by clicking on "Chat" function +4. Start typing and sending message by pressing Enter + + Use case ends. + **Extensions** * 2a. The list is empty. From 20fa15a82b41e97f7c255440a71615e6414cfa3e Mon Sep 17 00:00:00 2001 From: dohaduong Date: Thu, 2 Mar 2023 21:11:06 +0800 Subject: [PATCH 017/470] Update DG --- docs/DeveloperGuide.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 84fba480e21..60bde6e3972 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -307,10 +307,10 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli **MSS** -1. User go to job list/contact list -2. User go to specific job/client -3. User start chatting by clicking on "Chat" function -4. Start typing and sending message by pressing Enter +1. User go to job list/contact list. +2. User go to specific job/client. +3. User start chatting by clicking on "Chat" function. +4. Start typing and sending message by pressing Enter. Use case ends. From 05b2eb8ac04886d12661bf4db7cb50e615d829b5 Mon Sep 17 00:00:00 2001 From: dohaduong Date: Thu, 2 Mar 2023 21:19:34 +0800 Subject: [PATCH 018/470] Update DG --- docs/DeveloperGuide.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 60bde6e3972..b024ecdc943 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -340,6 +340,8 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli * **Mainstream OS**: Windows, Linux, Unix, OS-X * **Private contact detail**: A contact detail that is not meant to be shared with others +* **GUI**: Graphical User Interface +* **CLI**: Command Line Interface -------------------------------------------------------------------------------------------------------------------- From 17c3ac6ca5b47314c0ea42ad5c2f67bda42db3d2 Mon Sep 17 00:00:00 2001 From: dohaduong Date: Thu, 2 Mar 2023 21:28:35 +0800 Subject: [PATCH 019/470] Update DG: User stories, use cases, glossary --- docs/DeveloperGuide.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index b024ecdc943..2ab5446fd54 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -274,17 +274,17 @@ _{Explain here how the data archiving feature will be implemented}_ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unlikely to have) - `*` | Priority | As a …​ | I want to …​ | So that I can…​ | -| -------- | ------------------------------------------ | ------------------------------ | ---------------------------------------------------------------------- | +| -------- | ------------------------------------------ | ------------------------------ |------------------------------------------------------------------------| | `* * *` | new user | see usage instructions | refer to instructions when I forget how to use the App | -| `* * *` | user | add/delete jobs | | +| `* * *` | user | add/delete jobs | keep track of my upcoming and old tasks. | | `* * *` | user | mark/unmakr jobs | keep track of completed jobs | -| `* * *` | user | add a new person | | +| `* * *` | user | add a new person | keep in touch with my clients. | | `* * *` | user | delete a person | remove entries that I no longer need | | `* * *` | user | find a person by name | locate details of persons without having to go through the entire list | | `* *` | user | hide private contact details | minimize chance of someone else seeing them by accident | -| `* *` | user | chat with my clients | improve custormer relations | +| `* *` | user | chat with my clients | retain custormer relations and maintain more customers. | | `* *` | Gig employee | view my aggregated information | track my earnings | -| `*` | user with many persons in the address book | sort persons by name | locate a person easily | +| `*` | user with many persons in the address book | sort persons by name | locate a person/client easily and thus increase delivery efficiency | *{More to be added}* From 834974daad5c1ae2812cbc266f13d33e99a3aab8 Mon Sep 17 00:00:00 2001 From: zuohui48 Date: Thu, 2 Mar 2023 22:52:54 +0800 Subject: [PATCH 020/470] Add Zuohui's information --- docs/AboutUs.md | 7 +++++++ docs/images/chenzuohui.png | Bin 0 -> 165553 bytes docs/team/chenzuohui.md | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 docs/images/chenzuohui.png create mode 100644 docs/team/chenzuohui.md diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 03516badb24..b0af6cf4504 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -25,6 +25,13 @@ You can reach us at the email `seer[at]comp.nus.edu.sg` * Role: Developer +### Chen Zuo Hui + + + +[[github](https://github.com/zuohui48)] + +* Role: Developer ### Johnny Doe diff --git a/docs/images/chenzuohui.png b/docs/images/chenzuohui.png new file mode 100644 index 0000000000000000000000000000000000000000..6043bd279d0551212aae9eeeca33c42bfa3e2d66 GIT binary patch literal 165553 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

*&VIRCditfq^j#Ojb*0iO zh?yo%?hthI?v@*QcH4ZjIF2nNcjJ2tn@Ax?Q1Lia&8)>8nHbot?W5waN2tUw3_0(^ z1d5oe3NnHFEH%3^((CE%$IJJ(x8tY7(>M%dxZCYiYoAgB3JgnY=ANYOsuui)uU~fi zl=fe~s9P;xj`Qiu^QZ4GugBBdkJp#E6i0+aRVAjI2+Iozt6RiHL*(~GQci2;wckLx z1%o=c-sP5C=lGU_*kvdpDi$)st0(ikCepL5Q2Yo?Em?XPhA_`EYhlg=Kq;ex)naDI zNDd0Xh++!B3g9lCc@U2Et>C(^ewhu=LgxN#bt3!SfX+UD#VXk!lb_#L;5Grzy>zR7 zp?a_5?Llp1QD(;VwK=Xt95ZIN)uFdzXEDfZC>GH593LMKe{S3G_$zx=O?L%@?=58? zd(k}j_jgybe%(#=Jom>#@_OVhq1MMg@e0Uj-`^JZTrNQ zyJSX$sw!Z-wz3B1?&QJ9F}KwP9MRm>#muX<$d<6XTf;TI7HI^foLi<=3oaBh6By0G zswj9u0)W%$^y%raJM63^Gdq<9S{9B)Z{lu4v%KM97@};7NJ=!0<8HT;vMkHOVuJz? znG)LshyC=YufJ5&*X8sdfB*Zp-+ue?`bus=-l$SNCkEue16&oangIb3?e}{`R8wFAHvl7ssAbH|Oj2u3G))m$uTM`; z(RracBMdq1#$mtT?=+vvLPTlERiqHpkcVmf{q=<$_PgDG{`WtQ^T}QW5Xs@B#az`0 zB8}M{Q5jasLgXg8hlGlVy2tI+EtNO+txb8e1}k*Yc;r&|+^y|RwlxddkSgQ5p+@}A zy5X^nOD%Fs&}qa7i?m9olyaCROOqL~BDe#ZArexwh4Br;CPhUIG#qI*fEPLU=Bdd+(_eO8g4$jEkkWhX*{pA8g%IF7SOM6L9y@`jm%_36lqRAYiDpl_K6DE z@iH?Lgc!##eo$~n%m9F~aqewhO`g{~8#-klLVFpqResz*^n_&S*E}J()~H?CeE+l? zxMdY=+pDV+=kBHr{53N+CL&-E_ih%L0{U=jQ07H5=$%`>4T1@5D-gflbM=PiHe&gw zo#XAawCP|repvlBgPWL~`*MLlQvUBEaFlDA=@5gaOJg#(BHq*3Hw1Y{IQj+SOmfHGcL?9~7Q$@|q!JIJ2l!oi>A*8=

(61 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 literal 0 HcmV?d00001 diff --git a/docs/team/chenzuohui.md b/docs/team/chenzuohui.md new file mode 100644 index 00000000000..71c13701605 --- /dev/null +++ b/docs/team/chenzuohui.md @@ -0,0 +1,36 @@ +--- +layout: page +title: Chen Zuo Hui's Project Portfolio Page +--- + +### Project: Duke Driver + +Duke Driver - a delivery tasking and planning application used by delivery drivers. The user interacts with it using a CLI, and it has a GUI created with JavaFX. + +Given below are my contributions to the project. + +* **New Feature**: to be added soon + +* **New Feature**: to be added soon + +* **Code contributed**: [RepoSense link](https://nus-cs2103-ay2223s2.github.io/tp-dashboard/?search=zuohui&breakdown=true) + +* **Project management**: + * to be added soon + +* **Enhancements to existing features**: + * to be added soon + +* **Documentation**: + * User Guide: + * to be added soon + * Developer Guide: + * to be added soon + +* **Community**: + * to be added soon + +* **Tools**: + * to be added soon + + From fc5e162ff97b5a05259423b78cc9d884af8761ad Mon Sep 17 00:00:00 2001 From: dohaduong Date: Thu, 2 Mar 2023 23:42:32 +0800 Subject: [PATCH 021/470] Update NFR, README.md, _config.yml --- README.md | 2 +- docs/DeveloperGuide.md | 1 + docs/_config.yml | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fed91453d2b..d76fa80b831 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Duke Driver -[![CI Status](https://github.com/se-edu/addressbook-level3/workflows/Java%20CI/badge.svg)](https://github.com/se-edu/addressbook-level3/actions) +[![CI Status](https://github.com/AY2223S2-CS2103-F11-2/tp/workflows/Java%20CI/badge.svg)](https://github.com/AY2223S2-CS2103-F11-2/tp/actions) ![Ui](docs/images/Ui.png) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 2ab5446fd54..f0b24a1c93a 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -333,6 +333,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli 1. Should work on any _mainstream OS_ as long as it has Java `11` or above installed. 2. Should be able to hold up to 1000 persons without a noticeable sluggishness in performance for typical usage. 3. A user with above average typing speed for regular English text (i.e. not code, not system admin commands) should be able to accomplish most of the tasks faster using commands than using the mouse. +4. The system should respond within two seconds (after receiving input from user). *{More to be added}* diff --git a/docs/_config.yml b/docs/_config.yml index 6bd245d8f4e..8613d1372bc 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -8,7 +8,7 @@ header_pages: markdown: kramdown -repository: "se-edu/addressbook-level3" +repository: "AY2223S2-CS2103-F11-2/tp" github_icon: "images/github-icon.png" plugins: From efcf31f493748f035160892389adc035055c0767 Mon Sep 17 00:00:00 2001 From: dohaduong Date: Thu, 2 Mar 2023 23:49:16 +0800 Subject: [PATCH 022/470] Update project title to match our project --- docs/_config.yml | 2 +- docs/_sass/minima/_base.scss | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/_config.yml b/docs/_config.yml index 8613d1372bc..306e791e6f8 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -1,4 +1,4 @@ -title: "AB-3" +title: "Duke Driver" theme: minima header_pages: diff --git a/docs/_sass/minima/_base.scss b/docs/_sass/minima/_base.scss index 0d3f6e80ced..68d8304c9b1 100644 --- a/docs/_sass/minima/_base.scss +++ b/docs/_sass/minima/_base.scss @@ -288,7 +288,7 @@ table { text-align: center; } .site-header:before { - content: "AB-3"; + content: "Duke Driver"; font-size: 32px; } } From afb2b65cc30c7a37d8ba65d548ecd94713f2424b Mon Sep 17 00:00:00 2001 From: dohaduong Date: Thu, 2 Mar 2023 23:57:04 +0800 Subject: [PATCH 023/470] Update project title and DG --- docs/DeveloperGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index f0b24a1c93a..1252186e6c9 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -331,7 +331,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli ### Non-Functional Requirements 1. Should work on any _mainstream OS_ as long as it has Java `11` or above installed. -2. Should be able to hold up to 1000 persons without a noticeable sluggishness in performance for typical usage. +2. Should be used for a single user only i.e. (not a multi-user product). 3. A user with above average typing speed for regular English text (i.e. not code, not system admin commands) should be able to accomplish most of the tasks faster using commands than using the mouse. 4. The system should respond within two seconds (after receiving input from user). From 25d28e1987e4a5097471924c02b2a06deacb0cf5 Mon Sep 17 00:00:00 2001 From: dohaduong Date: Thu, 2 Mar 2023 23:57:57 +0800 Subject: [PATCH 024/470] Update project title and DG --- docs/DeveloperGuide.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 1252186e6c9..494a6efea92 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -332,8 +332,9 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli 1. Should work on any _mainstream OS_ as long as it has Java `11` or above installed. 2. Should be used for a single user only i.e. (not a multi-user product). -3. A user with above average typing speed for regular English text (i.e. not code, not system admin commands) should be able to accomplish most of the tasks faster using commands than using the mouse. -4. The system should respond within two seconds (after receiving input from user). +3. The system should respond within two seconds (after receiving input from user). +4. A user with above average typing speed for regular English text (i.e. not code, not system admin commands) should be able to accomplish most of the tasks faster using commands than using the mouse. + *{More to be added}* From f8b0afe703648da4262dc309e6b42f38600b60ce Mon Sep 17 00:00:00 2001 From: dohaduong Date: Fri, 3 Mar 2023 01:32:43 +0800 Subject: [PATCH 025/470] Update use case --- docs/DeveloperGuide.md | 66 ++++++++++++++++++++++++++++++++---------- 1 file changed, 50 insertions(+), 16 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 494a6efea92..71b7dcf528c 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -290,49 +290,83 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli ### Use cases -(For all use cases below, the **System** is the `AddressBook` and the **Actor** is the `user`, unless specified otherwise) +(For all use cases below, the **System** is the `Duke Driver` and the **Actor** is the `user`, unless specified otherwise) -**Use case: Delete a person** +**Use case: UC1 - List jobs** **MSS** -1. User requests to list persons -2. AddressBook shows a list of persons -3. User requests to delete a specific person in the list -4. AddressBook deletes the person +1. User requests to list jobs +2. Duke Driver shows a list of jobs Use case ends. -**Use case: Chat with a client** +**Extensions** + +* 2a. The list is empty. + + Use case ends. + +**Use case: UC2 - Delete a job** **MSS** -1. User go to job list/contact list. -2. User go to specific job/client. -3. User start chatting by clicking on "Chat" function. -4. Start typing and sending message by pressing Enter. +1. User requests to list jobs +2. Duke Driver shows a list of jobs (UC1) +3. User requests to delete a specific job in the list +4. Duke Driver deletes the job - Use case ends. + Use case ends. **Extensions** -* 2a. The list is empty. +* 3a. The given index is invalid. - Use case ends. + * 3a1. Duke Driver shows an error message. + + Use case resumes at step 2. + +**Use case: UC3 - Add a job** + +**MSS** + +1. User requests to add a specific job to the list +2. Duke Driver adds the job + + Use case ends. + + +**Use case: UC4 - Chat with a client** + +**MSS** + +1. User requests to list jobs/contacts. +2. Duke Driver shows a list of jobs (UC2) +3. User requests to display a specific job to start chat. +4. Duke Driver displays the chosen job with more specific details. +5. User selects "Chat" function from the chosen job. +6. Duke Driver prompts Chat window with specific client. +7. User starts the chat by typing in the messages and press Enter to send/ +8. Duke Driver shows the message sent in the Chat window. + + Use case ends. + +**Extensions** * 3a. The given index is invalid. - * 3a1. AddressBook shows an error message. + * 3a1. Duke Driver shows an error message. Use case resumes at step 2. + *{More to be added}* ### Non-Functional Requirements 1. Should work on any _mainstream OS_ as long as it has Java `11` or above installed. 2. Should be used for a single user only i.e. (not a multi-user product). -3. The system should respond within two seconds (after receiving input from user). +3. The system should respond within two seconds (after receiving input from user). 4. A user with above average typing speed for regular English text (i.e. not code, not system admin commands) should be able to accomplish most of the tasks faster using commands than using the mouse. From 76450dc8311752881c5fc5a6d5f32bc4014c52fd Mon Sep 17 00:00:00 2001 From: dohaduong Date: Fri, 3 Mar 2023 09:24:37 +0800 Subject: [PATCH 026/470] Change UC format to toggle list --- docs/DeveloperGuide.md | 41 +++++++++++++++++++++++++++++------------ 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 71b7dcf528c..024d31063ff 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -292,24 +292,29 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli (For all use cases below, the **System** is the `Duke Driver` and the **Actor** is the `user`, unless specified otherwise) -**Use case: UC1 - List jobs** - -**MSS** +

+[UC1] List jobs +
+MSS
 
 1.  User requests to list jobs
 2.  Duke Driver shows a list of jobs
 
     Use case ends.
 
-**Extensions**
+Extensions
 
 * 2a. The list is empty.
 
   Use case ends.
+
+
-**Use case: UC2 - Delete a job** +
+[UC2] Delete a job -**MSS** +
+MSS
 
 1.  User requests to list jobs
 2.  Duke Driver shows a list of jobs (UC1)
@@ -318,7 +323,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
 
     Use case ends.
 
-**Extensions**
+Extensions
 
 * 3a. The given index is invalid.
 
@@ -326,19 +331,29 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
 
       Use case resumes at step 2.
 
-**Use case: UC3 - Add a job**
+
+
+ + +
+[UC3] Add a job +
+MSS
 
-**MSS**
 
 1. User requests to add a specific job to the list
 2. Duke Driver adds the job
 
     Use case ends.
+
+
-**Use case: UC4 - Chat with a client** -**MSS** +
+[UC4] Chat with a client +
+MSS
 
 1. User requests to list jobs/contacts.
 2. Duke Driver shows a list of jobs (UC2)
@@ -351,13 +366,15 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
 
    Use case ends.
 
-**Extensions**
+Extensions
 
 * 3a. The given index is invalid.
 
     * 3a1. Duke Driver shows an error message.
 
       Use case resumes at step 2.
+
+
*{More to be added}* From 3130e0570f7dea350852b24f5dd5fd5011c11689 Mon Sep 17 00:00:00 2001 From: ZhuLeYao Date: Fri, 3 Mar 2023 09:26:00 +0800 Subject: [PATCH 027/470] Add Le Yao's AboutUs --- docs/AboutUs.md | 8 +++----- docs/images/zhuleyao.png | Bin 0 -> 438148 bytes 2 files changed, 3 insertions(+), 5 deletions(-) create mode 100644 docs/images/zhuleyao.png diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 03516badb24..79a83afca1a 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -35,15 +35,13 @@ You can reach us at the email `seer[at]comp.nus.edu.sg` * Role: Developer * Responsibilities: Data -### Jean Doe +### Zhu Le Yao - + -[[github](http://github.com/johndoe)] -[[portfolio](team/johndoe.md)] +[[github](http://github.com/ZhuLeYao)] * Role: Developer -* Responsibilities: Dev Ops + Threading ### James Doe diff --git a/docs/images/zhuleyao.png b/docs/images/zhuleyao.png new file mode 100644 index 0000000000000000000000000000000000000000..0ca1b6d62f6c835ad9826b71ea34e491dedfa8b6 GIT binary patch literal 438148 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
 MSS
 
-1. User requests to list jobs/contacts.
-2. Duke Driver shows a list of jobs (UC2)
+1. User goes to homepage with list of jobs/contacts.
+2. Duke Driver displays job list.
 3. User requests to display a specific job to start chat.
 4. Duke Driver displays the chosen job in details and Chat option.
 5. User selects "Chat" option from the chosen job.

From 44e13c67e0c89624033ef61029bcaf215639d17f Mon Sep 17 00:00:00 2001
From: ZhuLeYao 
Date: Fri, 3 Mar 2023 11:51:12 +0800
Subject: [PATCH 039/470] Update responsibilities

---
 docs/AboutUs.md        |  1 +
 docs/DeveloperGuide.md | 12 +++++-------
 docs/team/zhuleyao.md  |  2 +-
 3 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/docs/AboutUs.md b/docs/AboutUs.md
index 14aaf1c4a84..ec751da4da7 100644
--- a/docs/AboutUs.md
+++ b/docs/AboutUs.md
@@ -50,6 +50,7 @@ You can reach us at the email `seer[at]comp.nus.edu.sg`
 [[github](http://github.com/ZhuLeYao)]
 
 * Role: Developer
+* Responsibilities: Data, Add and view jobs function
 
 ### James Doe
 
diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md
index 6328def4693..e27392d18f4 100644
--- a/docs/DeveloperGuide.md
+++ b/docs/DeveloperGuide.md
@@ -298,9 +298,8 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
 MSS
 
 1.  User is on homepage of list of jobs
-2.  Duke Driver shows button to view overall statistics at the top
-3.  User requests to view statistics
-4.  Duke Driver shows total earnings, monthly earnings, weekly earnings, daily earnings and top customers visited
+2. User requests to view overall statistics
+3. Duke Driver shows total earnings, monthly earnings, weekly earnings, daily earnings and top customers visited
 
     Use case ends.
     
@@ -348,10 +347,9 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
 MSS
 
 
-1.  User is on homepage of list of jobs
-2.  Duke Driver shows button to add job at the top
-3.  User requests to add a job in the list
-4.  Duke Driver adds job and job appears in list of jobs
+1. User is on homepage of list of jobs
+2. User requests to add a job in the list
+3. Duke Driver adds job and job appears in list of jobs
 
     Use case ends.
 
diff --git a/docs/team/zhuleyao.md b/docs/team/zhuleyao.md index 7db93089496..1b427ea3864 100644 --- a/docs/team/zhuleyao.md +++ b/docs/team/zhuleyao.md @@ -9,7 +9,7 @@ Duke Driver - A contact and job management app to aid delivery drivers in better Given below are my contributions to the project. -* **New Feature**: to be added soon +* **New Feature**: Data, Add and view jobs function * **New Feature**: to be added soon From 3aed6897869b7d89072fc17248907779366936c2 Mon Sep 17 00:00:00 2001 From: dohaduong Date: Fri, 3 Mar 2023 11:54:55 +0800 Subject: [PATCH 040/470] Update DG - use case --- docs/DeveloperGuide.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index cb1b6a089ba..bee5b4839db 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -368,10 +368,8 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli 2. Duke Driver displays job list. 3. User requests to display a specific job to start chat. 4. Duke Driver displays the chosen job in details and Chat option. -5. User selects "Chat" option from the chosen job. -6. Duke Driver prompts Chat window with specific client. -7. User starts the chat by typing in the messages and requests to send -8. Duke Driver shows the message sent in the Chat window. +5. User selects "Chat" option from the chosen job and requests to chat. +6. Duke Driver shows the message sent in the Chat window. Use case ends. From 8ca7b279a73c7d728e58464cb9b1d16fb3b07500 Mon Sep 17 00:00:00 2001 From: zuohui48 Date: Fri, 3 Mar 2023 12:17:33 +0800 Subject: [PATCH 041/470] Update zuohui's responsibilities --- docs/AboutUs.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/AboutUs.md b/docs/AboutUs.md index b0af6cf4504..aeaa29e7c97 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -32,6 +32,7 @@ You can reach us at the email `seer[at]comp.nus.edu.sg` [[github](https://github.com/zuohui48)] * Role: Developer +* Responsibilities: List jobs, Summary Statistics ### Johnny Doe From d1888e518fe18ca2fb7f4f90bf6adbfc46eb0120 Mon Sep 17 00:00:00 2001 From: zuohui48 Date: Fri, 3 Mar 2023 17:09:57 +0800 Subject: [PATCH 042/470] Update image file name --- docs/AboutUs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 9dc028f9d54..7856e3abaa1 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -29,7 +29,7 @@ You can reach us at the email `seer[at]comp.nus.edu.sg` ### Chen Zuo Hui - + [[github](https://github.com/zuohui48)] From 64123da1a079741f2ff9b4b92808a30c328d27ca Mon Sep 17 00:00:00 2001 From: zuohui48 Date: Fri, 3 Mar 2023 17:22:16 +0800 Subject: [PATCH 043/470] Remove dummy data from ab3 --- docs/AboutUs.md | 9 --------- 1 file changed, 9 deletions(-) diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 7856e3abaa1..d7fd850188d 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -36,15 +36,6 @@ You can reach us at the email `seer[at]comp.nus.edu.sg` * Role: Developer * Responsibilities: List jobs, Summary Statistics -### Johnny Doe - - - -[[github](http://github.com/johndoe)] [[portfolio](team/johndoe.md)] - -* Role: Developer -* Responsibilities: Data - ### Zhu Le Yao From 1faf4141458eb24925d24d33de3490dbc2c83edf Mon Sep 17 00:00:00 2001 From: zuohui48 Date: Fri, 3 Mar 2023 17:30:43 +0800 Subject: [PATCH 044/470] Renname image filename --- docs/images/{chenzuohui.png => zuohui48.png} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/images/{chenzuohui.png => zuohui48.png} (100%) diff --git a/docs/images/chenzuohui.png b/docs/images/zuohui48.png similarity index 100% rename from docs/images/chenzuohui.png rename to docs/images/zuohui48.png From 9cf1052ae99fb346a30b204c14820693a168f45f Mon Sep 17 00:00:00 2001 From: c0j0s Date: Fri, 3 Mar 2023 19:17:00 +0800 Subject: [PATCH 045/470] Update c0j0s info in aboutus --- docs/AboutUs.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/AboutUs.md b/docs/AboutUs.md index d7fd850188d..bc27a6148bd 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -53,3 +53,4 @@ You can reach us at the email `seer[at]comp.nus.edu.sg` [[portfolio](team/c0j0s.md)] * Role: Developer +* Responsibilities: Delivery jobs function \ No newline at end of file From 912d82efadca6e48b3351d4b0571658615a8dc18 Mon Sep 17 00:00:00 2001 From: c0j0s Date: Fri, 3 Mar 2023 19:33:58 +0800 Subject: [PATCH 046/470] Update use cases rename duke driver to system. add a view job details use case. standardize formatting. --- docs/DeveloperGuide.md | 94 ++++++++++++++++++------------------------ 1 file changed, 41 insertions(+), 53 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 0b7b7a5ac47..7440faef5c2 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -293,95 +293,83 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli (For all use cases below, the **System** is the `Duke Driver` and the **Actor** is the `user`, unless specified otherwise)
-[UC1] View statistics +[ST1] View statistics
 MSS
-
-1.  User is on homepage of list of jobs
-2. User requests to view overall statistics
-3. Duke Driver shows total earnings, monthly earnings, weekly earnings, daily earnings and top customers visited
-
-    Use case ends.
+1. User is on homepage of list of jobs.
+2. User requests to view overall statistics.
+3. System shows total earnings, monthly earnings,
+   weekly earnings, daily earnings and top customers visited.
+   Use case ends.
     
 Extensions
-
 * 2a. The list is empty.
-
-  Use case ends.
+      Use case ends.
 
-[UC2] Delete a job - +[DE1] View delivery job details
 MSS
-
-1.  User is on homepage of list of jobs
-2.  Duke Driver shows a list of jobs 
-3.  User requests to delete a specific job in the list
-4.  Duke Driver deletes the job
-
-    Use case ends.
-
-Extensions
-
-* 2a. The list is empty.
-
-  Use case ends.
-
-* 3a. The given index is invalid.
-
-    * 3a1. Duke Driver shows an error message.
-
-      Use case resumes at step 2.
-
+1. User opens the system.
+2. System list all pending jobs.
+3. User selects the job for details.
+5. System displays the full detail of the deivery job. 
 
-
-[UC3] Add a job +[DE2] Add a delivery job
 MSS
+1. User is on homepage of list of jobs.
+2. User requests to add a job in the list.
+3. System adds job and job appears in list of jobs.
+   Use case ends.
+
+
-1. User is on homepage of list of jobs -2. User requests to add a job in the list -3. Duke Driver adds job and job appears in list of jobs +
+[DE3] Delete a job +
+MSS
+1. User is on homepage of list of jobs.
+2. System shows a list of jobs.
+3. User requests to delete a specific job in the list.
+4. System deletes the job.
+   Use case ends.
 
-    Use case ends.
+Extensions
+* 2a. The list is empty.
+  Use case ends.
+* 3a. The given index is invalid.
+    * 3a1. System shows an error message.
+      Use case resumes at step 2.
 
-
-[UC4] Chat with a client +[CH1] Chat with a client
 MSS
-
 1. User goes to homepage with list of jobs/contacts.
-2. Duke Driver displays job list.
+2. System displays job list.
 3. User requests to display a specific job to start chat.
-4. Duke Driver displays the chosen job in details and Chat option.
+4. System displays the chosen job in details and Chat option.
 5. User selects "Chat" option from the chosen job and requests to chat.
-6. Duke Driver shows the message sent in the Chat window.
-
+6. DSystem shows the message sent in the Chat window.
    Use case ends.
 
 Extensions
-
 * 2a. The list is empty.
-
-  Use case ends.
-
+      Use case ends.
 * 3a. The given index is invalid.
-
-    * 3a1. Duke Driver shows an error message.
-
-      Use case resumes at step 2.
+    * 3a1. System shows an error message.
+           Use case resumes at step 2.
 
From 5e6e9ebfd69f299a56263cbb676cd841db378cca Mon Sep 17 00:00:00 2001 From: zuohui48 Date: Fri, 3 Mar 2023 22:48:41 +0800 Subject: [PATCH 047/470] Rename PPP skeleton file --- docs/team/{chenzuohui.md => zuohui48.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/team/{chenzuohui.md => zuohui48.md} (100%) diff --git a/docs/team/chenzuohui.md b/docs/team/zuohui48.md similarity index 100% rename from docs/team/chenzuohui.md rename to docs/team/zuohui48.md From 4729df207da2e148fb68ff2317542b90c488f371 Mon Sep 17 00:00:00 2001 From: ChinJunAn Date: Sat, 4 Mar 2023 22:20:31 +0800 Subject: [PATCH 048/470] Add controlsfx library and test notification JavaFx does not come with native notification function. Notification function would allow users to be notified of incoming deadlines or reminders. Let's * import the library into the base code * display test notification on app startup --- build.gradle | 1 + src/main/java/seedu/address/ui/UiManager.java | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/build.gradle b/build.gradle index 108397716bd..a76c57ba494 100644 --- a/build.gradle +++ b/build.gradle @@ -41,6 +41,7 @@ task coverage(type: JacocoReport) { } dependencies { + implementation 'org.controlsfx:controlsfx:11.1.2' String jUnitVersion = '5.4.0' String javaFxVersion = '11' diff --git a/src/main/java/seedu/address/ui/UiManager.java b/src/main/java/seedu/address/ui/UiManager.java index fdf024138bc..accac55c082 100644 --- a/src/main/java/seedu/address/ui/UiManager.java +++ b/src/main/java/seedu/address/ui/UiManager.java @@ -3,14 +3,17 @@ import java.util.logging.Logger; import javafx.application.Platform; +import javafx.geometry.Pos; import javafx.scene.control.Alert; import javafx.scene.control.Alert.AlertType; import javafx.scene.image.Image; import javafx.stage.Stage; +import javafx.util.Duration; import seedu.address.MainApp; import seedu.address.commons.core.LogsCenter; import seedu.address.commons.util.StringUtil; import seedu.address.logic.Logic; +import org.controlsfx.control.Notifications; /** * The manager of the UI component. @@ -44,6 +47,15 @@ public void start(Stage primaryStage) { mainWindow.show(); //This should be called before creating other UI parts mainWindow.fillInnerParts(); + //show notifications + Notifications notificationBuilder = Notifications.create() + .title("Test Notification") + .text("This is a test Notification") + .graphic(null) + .hideAfter(Duration.seconds(5)) + .position(Pos.TOP_RIGHT); + notificationBuilder.showConfirm(); + } catch (Throwable e) { logger.severe(StringUtil.getDetails(e)); showFatalErrorDialogAndShutdown("Fatal error during initializing", e); From e8fed46fd67ad384f9f385ffc11dc31254da107a Mon Sep 17 00:00:00 2001 From: c0j0s Date: Mon, 6 Mar 2023 00:08:05 +0800 Subject: [PATCH 049/470] Add delivery job and package model --- build.gradle | 2 +- .../seedu/address/model/jobs/DeliveryJob.java | 76 +++++++++++++++++++ .../address/model/jobs/DeliveryPackage.java | 63 +++++++++++++++ .../address/model/jobs/DeliveryJobTest.java | 25 ++++++ .../model/jobs/DeliveryPackageTest.java | 23 ++++++ 5 files changed, 188 insertions(+), 1 deletion(-) create mode 100644 src/main/java/seedu/address/model/jobs/DeliveryJob.java create mode 100644 src/main/java/seedu/address/model/jobs/DeliveryPackage.java create mode 100644 src/test/java/seedu/address/model/jobs/DeliveryJobTest.java create mode 100644 src/test/java/seedu/address/model/jobs/DeliveryPackageTest.java diff --git a/build.gradle b/build.gradle index 108397716bd..7aac96b08d9 100644 --- a/build.gradle +++ b/build.gradle @@ -41,7 +41,7 @@ task coverage(type: JacocoReport) { } dependencies { - String jUnitVersion = '5.4.0' + String jUnitVersion = '5.9.2' String javaFxVersion = '11' implementation group: 'org.openjfx', name: 'javafx-base', version: javaFxVersion, classifier: 'win' diff --git a/src/main/java/seedu/address/model/jobs/DeliveryJob.java b/src/main/java/seedu/address/model/jobs/DeliveryJob.java new file mode 100644 index 00000000000..6cdd68639ee --- /dev/null +++ b/src/main/java/seedu/address/model/jobs/DeliveryJob.java @@ -0,0 +1,76 @@ +package seedu.address.model.jobs; + +import java.util.List; +import java.util.UUID; + +import seedu.address.model.person.Person; + +/** + * Represents delivery jobs entities. + */ +public class DeliveryJob { + // Identity fields + private final UUID jobId; + + // Delivery informations + private Person recepient; + private String deliverSlot; // TODO: Update data type when confirmed + private List packages; + private double earning; + + /** + * Constructs a job entity. + * + * @param recepient + * @param deliverSlot + * @param packages + * @param earning + */ + public DeliveryJob(Person recepient, String deliverSlot, List packages, double earning) { + this(UUID.randomUUID(), recepient, deliverSlot, packages, earning); + } + + private DeliveryJob(UUID jobId, Person recepient, String deliverSlot, List packages, double earning) { + this.jobId = jobId; + this.recepient = recepient; + this.deliverSlot = deliverSlot; + this.packages = packages; + this.earning = earning; + } + + public Person getRecepient() { + return recepient; + } + + public String getDeliverSlot() { + return deliverSlot; + } + + public List getPackages() { + return packages; + } + + public double getEarning() { + return earning; + } + + @Override + public String toString() { + final StringBuilder builder = new StringBuilder(); + + String outString = "Job [%s]\n" + + "receipent: %s\n" + + "slot: %s\n" + + "earn: $%s\n"; + + builder.append( + String.format(outString, + jobId, + getRecepient(), + getDeliverSlot(), + getEarning()) + ); + + return builder.toString(); + } +} diff --git a/src/main/java/seedu/address/model/jobs/DeliveryPackage.java b/src/main/java/seedu/address/model/jobs/DeliveryPackage.java new file mode 100644 index 00000000000..047edb4e3b3 --- /dev/null +++ b/src/main/java/seedu/address/model/jobs/DeliveryPackage.java @@ -0,0 +1,63 @@ +package seedu.address.model.jobs; + +import java.util.UUID; + +/** + * DeliveryPackage + */ +public class DeliveryPackage { + // refine later + private final UUID packageId; + private double weight; + private double length; + private double breadth; + private double height; + + public DeliveryPackage(double weight, double length, double breadth, double height) { + this(UUID.randomUUID(), weight, length, breadth, height); + } + + private DeliveryPackage(UUID packageId, double weight, double length, double breadth, double height) { + this.packageId = packageId; + this.weight = weight; + this.length = length; + this.breadth = breadth; + this.height = height; + } + + public double getWeight() { + return weight; + } + + public double getLength() { + return length; + } + + public double getBreadth() { + return breadth; + } + + public double getHeight() { + return height; + } + + @Override + public String toString() { + final StringBuilder builder = new StringBuilder(); + + String outString = "Package [%s]\n" + + "weight: %s\n" + + "LxBxH: %s x %s x %s\n"; + + builder.append( + String.format(outString, + packageId, + getWeight(), + getLength(), + getBreadth(), + getHeight()) + ); + + return builder.toString(); + } +} diff --git a/src/test/java/seedu/address/model/jobs/DeliveryJobTest.java b/src/test/java/seedu/address/model/jobs/DeliveryJobTest.java new file mode 100644 index 00000000000..5f128542646 --- /dev/null +++ b/src/test/java/seedu/address/model/jobs/DeliveryJobTest.java @@ -0,0 +1,25 @@ +package seedu.address.model.jobs; + +import static seedu.address.testutil.TypicalPersons.ALICE; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +public class DeliveryJobTest { + + private DeliveryJob job; + + @BeforeEach + void setUp() { + job = new DeliveryJob( + ALICE, + null, + null, + 0); + } + + @Test + void testToString() { + System.out.println(job); + } +} diff --git a/src/test/java/seedu/address/model/jobs/DeliveryPackageTest.java b/src/test/java/seedu/address/model/jobs/DeliveryPackageTest.java new file mode 100644 index 00000000000..55d007bd0c4 --- /dev/null +++ b/src/test/java/seedu/address/model/jobs/DeliveryPackageTest.java @@ -0,0 +1,23 @@ +package seedu.address.model.jobs; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +public class DeliveryPackageTest { + + private DeliveryPackage item; + + @BeforeEach + void setUp() { + item = new DeliveryPackage( + 0, + 0, + 0, + 0); + } + + @Test + void testToString() { + System.out.println(item); + } +} From 5eb2abe308ae7426c39cf8f58dfe80d4618b4e2e Mon Sep 17 00:00:00 2001 From: c0j0s Date: Mon, 6 Mar 2023 00:14:30 +0800 Subject: [PATCH 050/470] Resolve check style issues --- .../seedu/address/model/jobs/DeliveryJob.java | 22 +++++++++---------- .../address/model/jobs/DeliveryPackage.java | 12 +++++----- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/main/java/seedu/address/model/jobs/DeliveryJob.java b/src/main/java/seedu/address/model/jobs/DeliveryJob.java index 6cdd68639ee..a470a658dcc 100644 --- a/src/main/java/seedu/address/model/jobs/DeliveryJob.java +++ b/src/main/java/seedu/address/model/jobs/DeliveryJob.java @@ -30,7 +30,8 @@ public DeliveryJob(Person recepient, String deliverSlot, List p this(UUID.randomUUID(), recepient, deliverSlot, packages, earning); } - private DeliveryJob(UUID jobId, Person recepient, String deliverSlot, List packages, double earning) { + private DeliveryJob(UUID jobId, Person recepient, String deliverSlot, List packages, + double earning) { this.jobId = jobId; this.recepient = recepient; this.deliverSlot = deliverSlot; @@ -57,19 +58,18 @@ public double getEarning() { @Override public String toString() { final StringBuilder builder = new StringBuilder(); - + String outString = "Job [%s]\n" - + "receipent: %s\n" - + "slot: %s\n" - + "earn: $%s\n"; + + "receipent: %s\n" + + "slot: %s\n" + + "earn: $%s\n"; builder.append( - String.format(outString, - jobId, - getRecepient(), - getDeliverSlot(), - getEarning()) - ); + String.format(outString, + jobId, + getRecepient(), + getDeliverSlot(), + getEarning())); return builder.toString(); } diff --git a/src/main/java/seedu/address/model/jobs/DeliveryPackage.java b/src/main/java/seedu/address/model/jobs/DeliveryPackage.java index 047edb4e3b3..2d33b28dd29 100644 --- a/src/main/java/seedu/address/model/jobs/DeliveryPackage.java +++ b/src/main/java/seedu/address/model/jobs/DeliveryPackage.java @@ -44,19 +44,19 @@ public double getHeight() { @Override public String toString() { final StringBuilder builder = new StringBuilder(); - + String outString = "Package [%s]\n" + "weight: %s\n" + "LxBxH: %s x %s x %s\n"; builder.append( - String.format(outString, - packageId, - getWeight(), - getLength(), + String.format(outString, + packageId, + getWeight(), + getLength(), getBreadth(), getHeight()) - ); + ); return builder.toString(); } From b3fe1061e31533404ea28dc0f017f261485a6cdb Mon Sep 17 00:00:00 2001 From: c0j0s Date: Mon, 6 Mar 2023 12:57:04 +0800 Subject: [PATCH 051/470] Resolve check style issues in docs --- README.md | 2 +- docs/AboutUs.md | 2 +- docs/DeveloperGuide.md | 16 ++++++++-------- docs/UserGuide.md | 2 +- docs/team/c0j0s.md | 8 ++++---- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index d76fa80b831..fda744648fd 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Duke Driver is a desktop app for managing delivery jobs and contacts. If you are looking to perform better at your delivery job, Duke Driver can assist you to finish your daily tasks more efficiently, according to your requirements. Features -* Delivery tasking management system: +* Delivery tasking management system: - View jobs - Add jobs * Reminder and notifications: diff --git a/docs/AboutUs.md b/docs/AboutUs.md index bc27a6148bd..d7815cbd6ce 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -53,4 +53,4 @@ You can reach us at the email `seer[at]comp.nus.edu.sg` [[portfolio](team/c0j0s.md)] * Role: Developer -* Responsibilities: Delivery jobs function \ No newline at end of file +* Responsibilities: Delivery jobs function diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 7440faef5c2..6a9a243f4f0 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -301,12 +301,12 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli 3. System shows total earnings, monthly earnings, weekly earnings, daily earnings and top customers visited. Use case ends. - + Extensions * 2a. The list is empty. Use case ends. - +
[DE1] View delivery job details @@ -315,9 +315,9 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli 1. User opens the system. 2. System list all pending jobs. 3. User selects the job for details. -5. System displays the full detail of the deivery job. +5. System displays the full detail of the deivery job. -
+
@@ -329,7 +329,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli 3. System adds job and job appears in list of jobs. Use case ends. -
+
@@ -349,7 +349,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli * 3a1. System shows an error message. Use case resumes at step 2. -
+
@@ -371,7 +371,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli * 3a1. System shows an error message. Use case resumes at step 2. -
+ *{More to be added}* @@ -380,7 +380,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli 1. Should work on any _mainstream OS_ as long as it has Java `11` or above installed. 2. Should be used for a single user only i.e. (not a multi-user product). -3. The system should respond within two seconds (after receiving input from user). +3. The system should respond within two seconds (after receiving input from user). 4. A user with above average typing speed for regular English text (i.e. not code, not system admin commands) should be able to accomplish most of the tasks faster using commands than using the mouse. diff --git a/docs/UserGuide.md b/docs/UserGuide.md index ddddff434f4..0a658fc3928 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -7,7 +7,7 @@ Duke Driver is a desktop app for managing delivery jobs and contacts. If you are * Table of Contents * Feature Tracks (plan for v1.2) - * Delivery tasking management system: + * Delivery tasking management system: * View jobs * Add jobs * Reminder and notifications: diff --git a/docs/team/c0j0s.md b/docs/team/c0j0s.md index 67acdfbc43b..107a4936be1 100644 --- a/docs/team/c0j0s.md +++ b/docs/team/c0j0s.md @@ -19,18 +19,18 @@ Given below are my contributions to the project. * Setup team repo and project dashboard. * **Enhancements to existing features**: - * + * * **Documentation**: * User Guide: * Added documentation for the delivery tasking management system features `view` and `add`. * Developer Guide: - * + * * **Community**: - * + * * **Tools**: - * + * * _{you can add/remove categories in the list above}_ From cc43795a68fe0cab125b835d506808e854c3c9ec Mon Sep 17 00:00:00 2001 From: c0j0s Date: Wed, 8 Mar 2023 00:04:40 +0800 Subject: [PATCH 052/470] Add sample job data --- .../address/model/util/SampleDataUtil.java | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/src/main/java/seedu/address/model/util/SampleDataUtil.java b/src/main/java/seedu/address/model/util/SampleDataUtil.java index 1806da4facf..140236934c6 100644 --- a/src/main/java/seedu/address/model/util/SampleDataUtil.java +++ b/src/main/java/seedu/address/model/util/SampleDataUtil.java @@ -1,11 +1,14 @@ package seedu.address.model.util; +import java.util.ArrayList; import java.util.Arrays; import java.util.Set; import java.util.stream.Collectors; import seedu.address.model.AddressBook; import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.jobs.DeliveryJob; +import seedu.address.model.jobs.DeliveryPackage; import seedu.address.model.person.Address; import seedu.address.model.person.Email; import seedu.address.model.person.Name; @@ -40,6 +43,62 @@ public static Person[] getSamplePersons() { }; } + public static DeliveryJob[] getSampleDeliveryJob() { + return new DeliveryJob[] { + new DeliveryJob( + new Person( + new Name("Alex Yeoh"), + new Phone("87438807"), + new Email("alexyeoh@example.com"), + new Address("Blk 30 Geylang Street 29, #06-40"), + getTagSet("friends")), + "dummy slot", + new ArrayList(), + 0.0 + ), + new DeliveryJob( + new Person(new Name("Bernice Yu"), new Phone("99272758"), new Email("berniceyu@example.com"), + new Address("Blk 30 Lorong 3 Serangoon Gardens, #07-18"), + getTagSet("colleagues", "friends")), + "dummy slot", + new ArrayList(), + 0.0 + ), + new DeliveryJob( + new Person(new Name("Charlotte Oliveiro"), new Phone("93210283"), new Email("charlotte@example.com"), + new Address("Blk 11 Ang Mo Kio Street 74, #11-04"), + getTagSet("neighbours")), + "dummy slot", + new ArrayList(), + 0.0 + ), + new DeliveryJob( + new Person(new Name("David Li"), new Phone("91031282"), new Email("lidavid@example.com"), + new Address("Blk 436 Serangoon Gardens Street 26, #16-43"), + getTagSet("family")), + "dummy slot", + new ArrayList(), + 0.0 + ), + new DeliveryJob( + new Person(new Name("Irfan Ibrahim"), new Phone("92492021"), new Email("irfan@example.com"), + new Address("Blk 47 Tampines Street 20, #17-35"), + getTagSet("classmates")), + "dummy slot", + new ArrayList(), + 0.0 + ), + new DeliveryJob( + new Person(new Name("Roy Balakrishnan"), new Phone("92624417"), new Email("royb@example.com"), + new Address("Blk 45 Aljunied Street 85, #11-31"), + getTagSet("colleagues")), + "dummy slot", + new ArrayList(), + 0.0 + ) + }; + } + public static ReadOnlyAddressBook getSampleAddressBook() { AddressBook sampleAb = new AddressBook(); for (Person samplePerson : getSamplePersons()) { From 344deb9871d0d1296ec6d4c2106b5c32d7117197 Mon Sep 17 00:00:00 2001 From: c0j0s Date: Thu, 9 Mar 2023 16:35:28 +0800 Subject: [PATCH 053/470] Add reading from delivery system storage --- docs/diagrams/StorageClassDiagram.puml | 8 ++ src/main/java/seedu/address/MainApp.java | 69 +++++++--- .../address/model/DeliveryJobSystem.java | 48 +++++++ src/main/java/seedu/address/model/Model.java | 6 + .../seedu/address/model/ModelManager.java | 55 +++++++- .../model/ReadOnlyDeliveryJobSystem.java | 13 ++ .../java/seedu/address/model/UserPrefs.java | 5 + .../seedu/address/model/jobs/DeliveryJob.java | 19 ++- .../address/model/jobs/DeliveryPackage.java | 23 ++-- .../model/jobs/UniqueDeliveryList.java | 43 +++++++ .../address/model/util/SampleDataUtil.java | 121 +++++++++--------- .../storage/DeliveryJobSystemStorage.java | 25 ++++ .../java/seedu/address/storage/Storage.java | 12 +- .../seedu/address/storage/StorageManager.java | 45 ++++++- .../storage/json/model/JsonAdapted.java | 7 + .../json/model/JsonAdaptedDeliveryJob.java | 60 +++++++++ .../model/JsonAdaptedDeliveryPackage.java | 17 +++ .../{ => json/model}/JsonAdaptedPerson.java | 4 +- .../{ => json/model}/JsonAdaptedTag.java | 4 +- .../JsonSerializableAddressBook.java | 5 +- .../JsonSerializableDeliveryJobSystem.java | 36 ++++++ .../storage}/JsonAddressBookStorage.java | 4 +- .../storage/JsonDeliveryJobSystemStorage.java | 71 ++++++++++ .../storage}/JsonUserPrefsStorage.java | 3 +- .../seedu/address/logic/LogicManagerTest.java | 45 ++++--- .../logic/commands/AddCommandTest.java | 11 ++ .../model/jobs/DeliveryPackageTest.java | 1 + .../storage/JsonAdaptedPersonTest.java | 35 ++--- .../storage/JsonAddressBookStorageTest.java | 1 + .../JsonSerializableAddressBookTest.java | 1 + .../storage/JsonUserPrefsStorageTest.java | 1 + .../address/storage/StorageManagerTest.java | 18 ++- 32 files changed, 677 insertions(+), 139 deletions(-) create mode 100644 src/main/java/seedu/address/model/DeliveryJobSystem.java create mode 100644 src/main/java/seedu/address/model/ReadOnlyDeliveryJobSystem.java create mode 100644 src/main/java/seedu/address/model/jobs/UniqueDeliveryList.java create mode 100644 src/main/java/seedu/address/storage/DeliveryJobSystemStorage.java create mode 100644 src/main/java/seedu/address/storage/json/model/JsonAdapted.java create mode 100644 src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryJob.java create mode 100644 src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryPackage.java rename src/main/java/seedu/address/storage/{ => json/model}/JsonAdaptedPerson.java (97%) rename src/main/java/seedu/address/storage/{ => json/model}/JsonAdaptedTag.java (92%) rename src/main/java/seedu/address/storage/{ => json/serializable}/JsonSerializableAddressBook.java (93%) create mode 100644 src/main/java/seedu/address/storage/json/serializable/JsonSerializableDeliveryJobSystem.java rename src/main/java/seedu/address/storage/{ => json/storage}/JsonAddressBookStorage.java (93%) create mode 100644 src/main/java/seedu/address/storage/json/storage/JsonDeliveryJobSystemStorage.java rename src/main/java/seedu/address/storage/{ => json/storage}/JsonUserPrefsStorage.java (93%) diff --git a/docs/diagrams/StorageClassDiagram.puml b/docs/diagrams/StorageClassDiagram.puml index 760305e0e58..ae5991ec435 100644 --- a/docs/diagrams/StorageClassDiagram.puml +++ b/docs/diagrams/StorageClassDiagram.puml @@ -22,6 +22,14 @@ Class JsonAdaptedPerson Class JsonAdaptedTag } +package "DeliveryJob Storage" #F4F6F6{ +Class "<>\nAddressBookStorage" as AddressBookStorage +Class JsonDeliveryJobStorage +Class JsonSerializableDeliveryJob +Class JsonAdaptedDeliveryJob +Class JsonAdaptedDeliveryPackage +} + } Class HiddenOutside #FFFFFF diff --git a/src/main/java/seedu/address/MainApp.java b/src/main/java/seedu/address/MainApp.java index 4133aaa0151..e73893d35f6 100644 --- a/src/main/java/seedu/address/MainApp.java +++ b/src/main/java/seedu/address/MainApp.java @@ -16,18 +16,22 @@ import seedu.address.logic.Logic; import seedu.address.logic.LogicManager; import seedu.address.model.AddressBook; +import seedu.address.model.DeliveryJobSystem; import seedu.address.model.Model; import seedu.address.model.ModelManager; import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.ReadOnlyDeliveryJobSystem; import seedu.address.model.ReadOnlyUserPrefs; import seedu.address.model.UserPrefs; import seedu.address.model.util.SampleDataUtil; import seedu.address.storage.AddressBookStorage; -import seedu.address.storage.JsonAddressBookStorage; -import seedu.address.storage.JsonUserPrefsStorage; +import seedu.address.storage.DeliveryJobSystemStorage; import seedu.address.storage.Storage; import seedu.address.storage.StorageManager; import seedu.address.storage.UserPrefsStorage; +import seedu.address.storage.json.storage.JsonAddressBookStorage; +import seedu.address.storage.json.storage.JsonDeliveryJobSystemStorage; +import seedu.address.storage.json.storage.JsonUserPrefsStorage; import seedu.address.ui.Ui; import seedu.address.ui.UiManager; @@ -57,7 +61,9 @@ public void init() throws Exception { UserPrefsStorage userPrefsStorage = new JsonUserPrefsStorage(config.getUserPrefsFilePath()); UserPrefs userPrefs = initPrefs(userPrefsStorage); AddressBookStorage addressBookStorage = new JsonAddressBookStorage(userPrefs.getAddressBookFilePath()); - storage = new StorageManager(addressBookStorage, userPrefsStorage); + DeliveryJobSystemStorage deliveryJobSystemStorage = new JsonDeliveryJobSystemStorage( + userPrefs.getDeliveryJobSystemFilePath()); + storage = new StorageManager(addressBookStorage, deliveryJobSystemStorage, userPrefsStorage); initLogging(config); @@ -69,28 +75,54 @@ public void init() throws Exception { } /** - * Returns a {@code ModelManager} with the data from {@code storage}'s address book and {@code userPrefs}.
- * The data from the sample address book will be used instead if {@code storage}'s address book is not found, - * or an empty address book will be used instead if errors occur when reading {@code storage}'s address book. + * Returns a {@code ModelManager} with the data from {@code storage}'s address + * book and {@code userPrefs}.
+ * The data from the sample address book will be used instead if + * {@code storage}'s address book is not found, + * or an empty address book will be used instead if errors occur when reading + * {@code storage}'s address book. */ private Model initModelManager(Storage storage, ReadOnlyUserPrefs userPrefs) { Optional addressBookOptional; - ReadOnlyAddressBook initialData; + ReadOnlyAddressBook initialAddressData; + + Optional deliveryJobSystemOptional; + ReadOnlyDeliveryJobSystem initialDeliveryJobSystemData; + try { addressBookOptional = storage.readAddressBook(); if (!addressBookOptional.isPresent()) { - logger.info("Data file not found. Will be starting with a sample AddressBook"); + logger.info("[AB] Data file not found. Will be starting with a sample AddressBook"); } - initialData = addressBookOptional.orElseGet(SampleDataUtil::getSampleAddressBook); + initialAddressData = addressBookOptional.orElseGet(SampleDataUtil::getSampleAddressBook); + } catch (DataConversionException e) { - logger.warning("Data file not in the correct format. Will be starting with an empty AddressBook"); - initialData = new AddressBook(); + logger.warning("[AB] Data file not in the correct format. Will be starting with an empty AddressBook"); + initialAddressData = new AddressBook(); } catch (IOException e) { - logger.warning("Problem while reading from the file. Will be starting with an empty AddressBook"); - initialData = new AddressBook(); + logger.warning("[AB] Problem while reading from the file. Will be starting with an empty AddressBook"); + initialAddressData = new AddressBook(); + } + + try { + deliveryJobSystemOptional = storage.readDeliveryJobSystem(); + + if (!deliveryJobSystemOptional.isPresent()) { + logger.info("[DS] Data file not found. Will be starting with a sample AddressBook"); + } + + initialDeliveryJobSystemData = deliveryJobSystemOptional + .orElseGet(SampleDataUtil::getSampleDeliveryJobSystem); + } catch (DataConversionException e) { + logger.warning("[DS] Data file not in the correct format. Will be starting with an empty AddressBook"); + initialDeliveryJobSystemData = new DeliveryJobSystem(); + } catch (IOException e) { + logger.warning("[DS] Problem while reading from the file. Will be starting with an empty AddressBook"); + initialDeliveryJobSystemData = new DeliveryJobSystem(); } - return new ModelManager(initialData, userPrefs); + // return new ModelManager(initialAddressData, userPrefs); + return new ModelManager(initialAddressData, initialDeliveryJobSystemData, userPrefs); } private void initLogging(Config config) { @@ -124,7 +156,8 @@ protected Config initConfig(Path configFilePath) { initializedConfig = new Config(); } - //Update config file in case it was missing to begin with or there are new/unused fields + // Update config file in case it was missing to begin with or there are + // new/unused fields try { ConfigUtil.saveConfig(initializedConfig, configFilePathUsed); } catch (IOException e) { @@ -134,7 +167,8 @@ protected Config initConfig(Path configFilePath) { } /** - * Returns a {@code UserPrefs} using the file at {@code storage}'s user prefs file path, + * Returns a {@code UserPrefs} using the file at {@code storage}'s user prefs + * file path, * or a new {@code UserPrefs} with default configuration if errors occur when * reading from the file. */ @@ -155,7 +189,8 @@ protected UserPrefs initPrefs(UserPrefsStorage storage) { initializedPrefs = new UserPrefs(); } - //Update prefs file in case it was missing to begin with or there are new/unused fields + // Update prefs file in case it was missing to begin with or there are + // new/unused fields try { storage.saveUserPrefs(initializedPrefs); } catch (IOException e) { diff --git a/src/main/java/seedu/address/model/DeliveryJobSystem.java b/src/main/java/seedu/address/model/DeliveryJobSystem.java new file mode 100644 index 00000000000..c827a3890ab --- /dev/null +++ b/src/main/java/seedu/address/model/DeliveryJobSystem.java @@ -0,0 +1,48 @@ +package seedu.address.model; + +import javafx.collections.ObservableList; +import seedu.address.model.jobs.DeliveryJob; +import seedu.address.model.jobs.UniqueDeliveryList; + +/** + * DeliveryJobSystem + */ +public class DeliveryJobSystem implements ReadOnlyDeliveryJobSystem { + + private final UniqueDeliveryList jobs; + + { + jobs = new UniqueDeliveryList(); + } + + /** + * DeliveryJobSystem + */ + public DeliveryJobSystem() {} + + /** + * DeliveryJobSystem + * + * @param deliveryJobSystem + */ + public DeliveryJobSystem(ReadOnlyDeliveryJobSystem deliveryJobSystem) { + this(); + //TODO: resetData(deliveryJobSystem) + } + + /** + * DeliveryJobSystem + */ + public ObservableList getDeliveryJobList() { + return jobs.asUnmodifiableObservableList(); + } + + /** + * addDeliveryJob + * + * @param job + */ + public void addDeliveryJob(DeliveryJob job) { + jobs.add(job); + } +} diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index d54df471c1f..b59fffc9a23 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -5,6 +5,7 @@ import javafx.collections.ObservableList; import seedu.address.commons.core.GuiSettings; +import seedu.address.model.jobs.DeliveryJob; import seedu.address.model.person.Person; /** @@ -13,6 +14,7 @@ public interface Model { /** {@code Predicate} that always evaluate to true */ Predicate PREDICATE_SHOW_ALL_PERSONS = unused -> true; + Predicate PREDICATE_SHOW_ALL_DELIVERY_JOBS = unused -> true; /** * Replaces user prefs data with the data in {@code userPrefs}. @@ -84,4 +86,8 @@ public interface Model { * @throws NullPointerException if {@code predicate} is null. */ void updateFilteredPersonList(Predicate predicate); + + ObservableList getDeliveryJobList(); + + void updateFilteredDeliveryJobList(Predicate predicate); } diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 86c1df298d7..f0e2420d8dc 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -11,6 +11,7 @@ import javafx.collections.transformation.FilteredList; import seedu.address.commons.core.GuiSettings; import seedu.address.commons.core.LogsCenter; +import seedu.address.model.jobs.DeliveryJob; import seedu.address.model.person.Person; /** @@ -20,8 +21,10 @@ public class ModelManager implements Model { private static final Logger logger = LogsCenter.getLogger(ModelManager.class); private final AddressBook addressBook; + private final DeliveryJobSystem deliveryJobSystem; private final UserPrefs userPrefs; private final FilteredList filteredPersons; + private final FilteredList filteredDeliveryJobs; /** * Initializes a ModelManager with the given addressBook and userPrefs. @@ -32,15 +35,42 @@ public ModelManager(ReadOnlyAddressBook addressBook, ReadOnlyUserPrefs userPrefs logger.fine("Initializing with address book: " + addressBook + " and user prefs " + userPrefs); this.addressBook = new AddressBook(addressBook); + this.deliveryJobSystem = null; this.userPrefs = new UserPrefs(userPrefs); filteredPersons = new FilteredList<>(this.addressBook.getPersonList()); + this.filteredDeliveryJobs = null; } + /** + * ModelManager + * + * @param addressBook + * @param deliveryJobSystem + * @param userPrefs + */ + public ModelManager(ReadOnlyAddressBook addressBook, ReadOnlyDeliveryJobSystem deliveryJobSystem, + ReadOnlyUserPrefs userPrefs) { + requireAllNonNull(addressBook, deliveryJobSystem, userPrefs); + + logger.fine("Initializing with address book: " + addressBook + " and user prefs " + userPrefs); + + this.addressBook = new AddressBook(addressBook); + this.deliveryJobSystem = new DeliveryJobSystem(deliveryJobSystem); + this.userPrefs = new UserPrefs(userPrefs); + filteredPersons = new FilteredList<>(this.addressBook.getPersonList()); + filteredDeliveryJobs = new FilteredList<>(this.deliveryJobSystem.getDeliveryJobList()); + } + + /** + * ModelManager. + */ public ModelManager() { this(new AddressBook(), new UserPrefs()); + // this(new AddressBook(), new DeliveryJobSystem(), new UserPrefs()); } - //=========== UserPrefs ================================================================================== + // =========== UserPrefs + // ================================================================================== @Override public void setUserPrefs(ReadOnlyUserPrefs userPrefs) { @@ -75,7 +105,8 @@ public void setAddressBookFilePath(Path addressBookFilePath) { userPrefs.setAddressBookFilePath(addressBookFilePath); } - //=========== AddressBook ================================================================================ + // =========== AddressBook + // ================================================================================ @Override public void setAddressBook(ReadOnlyAddressBook addressBook) { @@ -111,10 +142,12 @@ public void setPerson(Person target, Person editedPerson) { addressBook.setPerson(target, editedPerson); } - //=========== Filtered Person List Accessors ============================================================= + // =========== Filtered Person List Accessors + // ============================================================= /** - * Returns an unmodifiable view of the list of {@code Person} backed by the internal list of + * Returns an unmodifiable view of the list of {@code Person} backed by the + * internal list of * {@code versionedAddressBook} */ @Override @@ -128,6 +161,20 @@ public void updateFilteredPersonList(Predicate predicate) { filteredPersons.setPredicate(predicate); } + // =========== Filtered Delivery Job List Accessors + // ============================================================= + + @Override + public ObservableList getDeliveryJobList() { + return filteredDeliveryJobs; + } + + @Override + public void updateFilteredDeliveryJobList(Predicate predicate) { + requireAllNonNull(predicate); + filteredDeliveryJobs.setPredicate(predicate); + } + @Override public boolean equals(Object obj) { // short circuit if same object diff --git a/src/main/java/seedu/address/model/ReadOnlyDeliveryJobSystem.java b/src/main/java/seedu/address/model/ReadOnlyDeliveryJobSystem.java new file mode 100644 index 00000000000..2b4bc9a1e62 --- /dev/null +++ b/src/main/java/seedu/address/model/ReadOnlyDeliveryJobSystem.java @@ -0,0 +1,13 @@ +package seedu.address.model; + +import javafx.collections.ObservableList; +import seedu.address.model.jobs.DeliveryJob; + +/** + * ReadOnlyDeliveryJobSystem + */ +public interface ReadOnlyDeliveryJobSystem { + + ObservableList getDeliveryJobList(); + +} diff --git a/src/main/java/seedu/address/model/UserPrefs.java b/src/main/java/seedu/address/model/UserPrefs.java index 25a5fd6eab9..e77b66eaed2 100644 --- a/src/main/java/seedu/address/model/UserPrefs.java +++ b/src/main/java/seedu/address/model/UserPrefs.java @@ -15,6 +15,7 @@ public class UserPrefs implements ReadOnlyUserPrefs { private GuiSettings guiSettings = new GuiSettings(); private Path addressBookFilePath = Paths.get("data" , "addressbook.json"); + private Path deliveryJobSystemFilePath = Paths.get("data" , "deliveryjobsystem.json"); /** * Creates a {@code UserPrefs} with default values. @@ -84,4 +85,8 @@ public String toString() { return sb.toString(); } + public Path getDeliveryJobSystemFilePath() { + return deliveryJobSystemFilePath; + } + } diff --git a/src/main/java/seedu/address/model/jobs/DeliveryJob.java b/src/main/java/seedu/address/model/jobs/DeliveryJob.java index a470a658dcc..29fac608fe1 100644 --- a/src/main/java/seedu/address/model/jobs/DeliveryJob.java +++ b/src/main/java/seedu/address/model/jobs/DeliveryJob.java @@ -10,7 +10,7 @@ */ public class DeliveryJob { // Identity fields - private final UUID jobId; + private final String jobId; // Delivery informations private Person recepient; @@ -27,10 +27,19 @@ public class DeliveryJob { * @param earning */ public DeliveryJob(Person recepient, String deliverSlot, List packages, double earning) { - this(UUID.randomUUID(), recepient, deliverSlot, packages, earning); + this(UUID.randomUUID().toString(), recepient, deliverSlot, packages, earning); } - private DeliveryJob(UUID jobId, Person recepient, String deliverSlot, List packages, + /** + * DeliveryJob + * + * @param jobId + * @param recepient + * @param deliverSlot + * @param packages + * @param earning + */ + public DeliveryJob(String jobId, Person recepient, String deliverSlot, List packages, double earning) { this.jobId = jobId; this.recepient = recepient; @@ -39,6 +48,10 @@ private DeliveryJob(UUID jobId, Person recepient, String deliverSlot, List { + + private final ObservableList internalList = FXCollections.observableArrayList(); + private final ObservableList internalUnmodifiableList = + FXCollections.unmodifiableObservableList(internalList); + + /** + * Returns the backing list as an unmodifiable {@code ObservableList}. + */ + public ObservableList asUnmodifiableObservableList() { + return internalUnmodifiableList; + } + + @Override + public Iterator iterator() { + return internalList.iterator(); + } + + /** + * add + * + * @param toAdd + */ + public void add(DeliveryJob toAdd) { + requireNonNull(toAdd); + // if (contains(toAdd)) { + // throw new DuplicatePersonException(); + // } + internalList.add(toAdd); + } +} diff --git a/src/main/java/seedu/address/model/util/SampleDataUtil.java b/src/main/java/seedu/address/model/util/SampleDataUtil.java index 140236934c6..266f006f96b 100644 --- a/src/main/java/seedu/address/model/util/SampleDataUtil.java +++ b/src/main/java/seedu/address/model/util/SampleDataUtil.java @@ -6,7 +6,9 @@ import java.util.stream.Collectors; import seedu.address.model.AddressBook; +import seedu.address.model.DeliveryJobSystem; import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.ReadOnlyDeliveryJobSystem; import seedu.address.model.jobs.DeliveryJob; import seedu.address.model.jobs.DeliveryPackage; import seedu.address.model.person.Address; @@ -23,80 +25,75 @@ public class SampleDataUtil { public static Person[] getSamplePersons() { return new Person[] { new Person(new Name("Alex Yeoh"), new Phone("87438807"), new Email("alexyeoh@example.com"), - new Address("Blk 30 Geylang Street 29, #06-40"), - getTagSet("friends")), + new Address("Blk 30 Geylang Street 29, #06-40"), + getTagSet("friends")), new Person(new Name("Bernice Yu"), new Phone("99272758"), new Email("berniceyu@example.com"), - new Address("Blk 30 Lorong 3 Serangoon Gardens, #07-18"), - getTagSet("colleagues", "friends")), + new Address("Blk 30 Lorong 3 Serangoon Gardens, #07-18"), + getTagSet("colleagues", "friends")), new Person(new Name("Charlotte Oliveiro"), new Phone("93210283"), new Email("charlotte@example.com"), - new Address("Blk 11 Ang Mo Kio Street 74, #11-04"), - getTagSet("neighbours")), + new Address("Blk 11 Ang Mo Kio Street 74, #11-04"), + getTagSet("neighbours")), new Person(new Name("David Li"), new Phone("91031282"), new Email("lidavid@example.com"), - new Address("Blk 436 Serangoon Gardens Street 26, #16-43"), - getTagSet("family")), + new Address("Blk 436 Serangoon Gardens Street 26, #16-43"), + getTagSet("family")), new Person(new Name("Irfan Ibrahim"), new Phone("92492021"), new Email("irfan@example.com"), - new Address("Blk 47 Tampines Street 20, #17-35"), - getTagSet("classmates")), + new Address("Blk 47 Tampines Street 20, #17-35"), + getTagSet("classmates")), new Person(new Name("Roy Balakrishnan"), new Phone("92624417"), new Email("royb@example.com"), - new Address("Blk 45 Aljunied Street 85, #11-31"), - getTagSet("colleagues")) + new Address("Blk 45 Aljunied Street 85, #11-31"), + getTagSet("colleagues")) }; } public static DeliveryJob[] getSampleDeliveryJob() { return new DeliveryJob[] { new DeliveryJob( - new Person( - new Name("Alex Yeoh"), - new Phone("87438807"), - new Email("alexyeoh@example.com"), - new Address("Blk 30 Geylang Street 29, #06-40"), - getTagSet("friends")), - "dummy slot", - new ArrayList(), - 0.0 - ), + new Person( + new Name("Alex Yeoh"), + new Phone("87438807"), + new Email("alexyeoh@example.com"), + new Address("Blk 30 Geylang Street 29, #06-40"), + getTagSet("friends")), + "dummy slot", + new ArrayList(), + 0.0), new DeliveryJob( - new Person(new Name("Bernice Yu"), new Phone("99272758"), new Email("berniceyu@example.com"), - new Address("Blk 30 Lorong 3 Serangoon Gardens, #07-18"), - getTagSet("colleagues", "friends")), - "dummy slot", - new ArrayList(), - 0.0 - ), + new Person(new Name("Bernice Yu"), new Phone("99272758"), new Email("berniceyu@example.com"), + new Address("Blk 30 Lorong 3 Serangoon Gardens, #07-18"), + getTagSet("colleagues", "friends")), + "dummy slot", + new ArrayList(), + 0.0), new DeliveryJob( - new Person(new Name("Charlotte Oliveiro"), new Phone("93210283"), new Email("charlotte@example.com"), - new Address("Blk 11 Ang Mo Kio Street 74, #11-04"), - getTagSet("neighbours")), - "dummy slot", - new ArrayList(), - 0.0 - ), + new Person(new Name("Charlotte Oliveiro"), new Phone("93210283"), + new Email("charlotte@example.com"), + new Address("Blk 11 Ang Mo Kio Street 74, #11-04"), + getTagSet("neighbours")), + "dummy slot", + new ArrayList(), + 0.0), new DeliveryJob( - new Person(new Name("David Li"), new Phone("91031282"), new Email("lidavid@example.com"), - new Address("Blk 436 Serangoon Gardens Street 26, #16-43"), - getTagSet("family")), - "dummy slot", - new ArrayList(), - 0.0 - ), + new Person(new Name("David Li"), new Phone("91031282"), new Email("lidavid@example.com"), + new Address("Blk 436 Serangoon Gardens Street 26, #16-43"), + getTagSet("family")), + "dummy slot", + new ArrayList(), + 0.0), new DeliveryJob( - new Person(new Name("Irfan Ibrahim"), new Phone("92492021"), new Email("irfan@example.com"), - new Address("Blk 47 Tampines Street 20, #17-35"), - getTagSet("classmates")), - "dummy slot", - new ArrayList(), - 0.0 - ), + new Person(new Name("Irfan Ibrahim"), new Phone("92492021"), new Email("irfan@example.com"), + new Address("Blk 47 Tampines Street 20, #17-35"), + getTagSet("classmates")), + "dummy slot", + new ArrayList(), + 0.0), new DeliveryJob( - new Person(new Name("Roy Balakrishnan"), new Phone("92624417"), new Email("royb@example.com"), - new Address("Blk 45 Aljunied Street 85, #11-31"), - getTagSet("colleagues")), - "dummy slot", - new ArrayList(), - 0.0 - ) - }; + new Person(new Name("Roy Balakrishnan"), new Phone("92624417"), new Email("royb@example.com"), + new Address("Blk 45 Aljunied Street 85, #11-31"), + getTagSet("colleagues")), + "dummy slot", + new ArrayList(), + 0.0) + }; } public static ReadOnlyAddressBook getSampleAddressBook() { @@ -107,6 +104,14 @@ public static ReadOnlyAddressBook getSampleAddressBook() { return sampleAb; } + public static ReadOnlyDeliveryJobSystem getSampleDeliveryJobSystem() { + DeliveryJobSystem sampleDS = new DeliveryJobSystem(); + for (DeliveryJob sampleJob : getSampleDeliveryJob()) { + sampleDS.addDeliveryJob(sampleJob); + } + return sampleDS; + } + /** * Returns a tag set containing the list of strings given. */ diff --git a/src/main/java/seedu/address/storage/DeliveryJobSystemStorage.java b/src/main/java/seedu/address/storage/DeliveryJobSystemStorage.java new file mode 100644 index 00000000000..bdb2014f509 --- /dev/null +++ b/src/main/java/seedu/address/storage/DeliveryJobSystemStorage.java @@ -0,0 +1,25 @@ +package seedu.address.storage; + +import java.io.IOException; +import java.nio.file.Path; +import java.util.Optional; + +import seedu.address.commons.exceptions.DataConversionException; +import seedu.address.model.ReadOnlyDeliveryJobSystem; + +/** + * DeliveryJobSystemStorage + */ +public interface DeliveryJobSystemStorage { + + Path getDeliveryJobFilePath(); + + Optional readDeliveryJobSystem() throws DataConversionException, IOException; + + Optional readDeliveryJobSystem(Path filePath) + throws DataConversionException, IOException; + + void saveDeliveryJobSystem(ReadOnlyDeliveryJobSystem deliveryJobSystem) throws IOException; + + void saveDeliveryJobSystem(ReadOnlyDeliveryJobSystem deliveryJobSystem, Path filePath) throws IOException; +} diff --git a/src/main/java/seedu/address/storage/Storage.java b/src/main/java/seedu/address/storage/Storage.java index beda8bd9f11..713b655c195 100644 --- a/src/main/java/seedu/address/storage/Storage.java +++ b/src/main/java/seedu/address/storage/Storage.java @@ -6,13 +6,14 @@ import seedu.address.commons.exceptions.DataConversionException; import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.ReadOnlyDeliveryJobSystem; import seedu.address.model.ReadOnlyUserPrefs; import seedu.address.model.UserPrefs; /** * API of the Storage component */ -public interface Storage extends AddressBookStorage, UserPrefsStorage { +public interface Storage extends AddressBookStorage, UserPrefsStorage, DeliveryJobSystemStorage { @Override Optional readUserPrefs() throws DataConversionException, IOException; @@ -29,4 +30,13 @@ public interface Storage extends AddressBookStorage, UserPrefsStorage { @Override void saveAddressBook(ReadOnlyAddressBook addressBook) throws IOException; + @Override + Path getDeliveryJobFilePath(); + + @Override + Optional readDeliveryJobSystem() throws DataConversionException, IOException; + + @Override + void saveDeliveryJobSystem(ReadOnlyDeliveryJobSystem deliveryJob) throws IOException; + } diff --git a/src/main/java/seedu/address/storage/StorageManager.java b/src/main/java/seedu/address/storage/StorageManager.java index 6cfa0162164..49d6d7d6feb 100644 --- a/src/main/java/seedu/address/storage/StorageManager.java +++ b/src/main/java/seedu/address/storage/StorageManager.java @@ -8,6 +8,7 @@ import seedu.address.commons.core.LogsCenter; import seedu.address.commons.exceptions.DataConversionException; import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.ReadOnlyDeliveryJobSystem; import seedu.address.model.ReadOnlyUserPrefs; import seedu.address.model.UserPrefs; @@ -18,13 +19,17 @@ public class StorageManager implements Storage { private static final Logger logger = LogsCenter.getLogger(StorageManager.class); private AddressBookStorage addressBookStorage; + private DeliveryJobSystemStorage deliveryJobSystemStorage; private UserPrefsStorage userPrefsStorage; /** - * Creates a {@code StorageManager} with the given {@code AddressBookStorage} and {@code UserPrefStorage}. + * Creates a {@code StorageManager} with the given {@code AddressBookStorage} + * and {@code UserPrefStorage}. */ - public StorageManager(AddressBookStorage addressBookStorage, UserPrefsStorage userPrefsStorage) { + public StorageManager(AddressBookStorage addressBookStorage, DeliveryJobSystemStorage deliveryJobSystemStorage, + UserPrefsStorage userPrefsStorage) { this.addressBookStorage = addressBookStorage; + this.deliveryJobSystemStorage = deliveryJobSystemStorage; this.userPrefsStorage = userPrefsStorage; } @@ -45,7 +50,6 @@ public void saveUserPrefs(ReadOnlyUserPrefs userPrefs) throws IOException { userPrefsStorage.saveUserPrefs(userPrefs); } - // ================ AddressBook methods ============================== @Override @@ -60,7 +64,7 @@ public Optional readAddressBook() throws DataConversionExce @Override public Optional readAddressBook(Path filePath) throws DataConversionException, IOException { - logger.fine("Attempting to read data from file: " + filePath); + logger.fine("[AB] Attempting to read data from file: " + filePath); return addressBookStorage.readAddressBook(filePath); } @@ -71,8 +75,39 @@ public void saveAddressBook(ReadOnlyAddressBook addressBook) throws IOException @Override public void saveAddressBook(ReadOnlyAddressBook addressBook, Path filePath) throws IOException { - logger.fine("Attempting to write to data file: " + filePath); + logger.fine("[AB] Attempting to write to data file: " + filePath); addressBookStorage.saveAddressBook(addressBook, filePath); } + // ================ Delivery Job system methods ============================== + + @Override + public Path getDeliveryJobFilePath() { + return deliveryJobSystemStorage.getDeliveryJobFilePath(); + } + + @Override + public Optional readDeliveryJobSystem() throws DataConversionException, IOException { + return readDeliveryJobSystem(deliveryJobSystemStorage.getDeliveryJobFilePath()); + } + + @Override + public Optional readDeliveryJobSystem(Path filePath) + throws DataConversionException, IOException { + logger.fine("[DJ] Attempting to read data from file: " + filePath); + return deliveryJobSystemStorage.readDeliveryJobSystem(filePath); + } + + @Override + public void saveDeliveryJobSystem(ReadOnlyDeliveryJobSystem addressBook, Path filePath) throws IOException { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'saveDeliveryJob'"); + } + + @Override + public void saveDeliveryJobSystem(ReadOnlyDeliveryJobSystem deliveryJob) throws IOException { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'saveDeliveryJob'"); + } + } diff --git a/src/main/java/seedu/address/storage/json/model/JsonAdapted.java b/src/main/java/seedu/address/storage/json/model/JsonAdapted.java new file mode 100644 index 00000000000..857217a60d8 --- /dev/null +++ b/src/main/java/seedu/address/storage/json/model/JsonAdapted.java @@ -0,0 +1,7 @@ +package seedu.address.storage.json.model; + +import seedu.address.commons.exceptions.IllegalValueException; + +abstract class JsonAdapted { + public abstract T toModelType() throws IllegalValueException; +} diff --git a/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryJob.java b/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryJob.java new file mode 100644 index 00000000000..7d54f28f381 --- /dev/null +++ b/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryJob.java @@ -0,0 +1,60 @@ +package seedu.address.storage.json.model; + +import java.util.ArrayList; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import seedu.address.commons.exceptions.IllegalValueException; +import seedu.address.model.jobs.DeliveryJob; +import seedu.address.model.jobs.DeliveryPackage; + +/** + * JsonAdaptedDeliveryJob + */ +public class JsonAdaptedDeliveryJob extends JsonAdapted { + + private final String jobId; + private final JsonAdaptedPerson recepient; + private final String slot; + private final double earning; + + /** + * JsonAdaptedDeliveryJob + * + * @param jobId + * @param recepient + * @param deliverySlot + * @param earning + */ + public JsonAdaptedDeliveryJob( + @JsonProperty("jobid") String jobId, + @JsonProperty("recepient") JsonAdaptedPerson recepient, + @JsonProperty("slot") String deliverySlot, + @JsonProperty("earning") double earning + //TODO: include packages + ) { + this.jobId = jobId; + this.recepient = recepient; + this.slot = deliverySlot; + this.earning = earning; + } + + /** + * JsonAdaptedDeliveryJob. + * + * @param source + */ + public JsonAdaptedDeliveryJob(DeliveryJob source) { + this.jobId = source.getJobId(); + this.recepient = new JsonAdaptedPerson(source.getRecepient()); + this.slot = source.getDeliverSlot(); + this.earning = source.getEarning(); + } + + @Override + public DeliveryJob toModelType() throws IllegalValueException { + // TODO: refine later + return new DeliveryJob(jobId, recepient.toModelType(), slot, new ArrayList(), earning); + } + +} diff --git a/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryPackage.java b/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryPackage.java new file mode 100644 index 00000000000..174e32ed2f7 --- /dev/null +++ b/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryPackage.java @@ -0,0 +1,17 @@ +package seedu.address.storage.json.model; + +import seedu.address.commons.exceptions.IllegalValueException; +import seedu.address.model.jobs.DeliveryPackage; + +/** + * JsonAdaptedDeliveryPackage + */ +public class JsonAdaptedDeliveryPackage extends JsonAdapted { + + @Override + public DeliveryPackage toModelType() throws IllegalValueException { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'toModelType'"); + } + +} diff --git a/src/main/java/seedu/address/storage/JsonAdaptedPerson.java b/src/main/java/seedu/address/storage/json/model/JsonAdaptedPerson.java similarity index 97% rename from src/main/java/seedu/address/storage/JsonAdaptedPerson.java rename to src/main/java/seedu/address/storage/json/model/JsonAdaptedPerson.java index a6321cec2ea..047005e5adf 100644 --- a/src/main/java/seedu/address/storage/JsonAdaptedPerson.java +++ b/src/main/java/seedu/address/storage/json/model/JsonAdaptedPerson.java @@ -1,4 +1,4 @@ -package seedu.address.storage; +package seedu.address.storage.json.model; import java.util.ArrayList; import java.util.HashSet; @@ -20,7 +20,7 @@ /** * Jackson-friendly version of {@link Person}. */ -class JsonAdaptedPerson { +public class JsonAdaptedPerson extends JsonAdapted { public static final String MISSING_FIELD_MESSAGE_FORMAT = "Person's %s field is missing!"; diff --git a/src/main/java/seedu/address/storage/JsonAdaptedTag.java b/src/main/java/seedu/address/storage/json/model/JsonAdaptedTag.java similarity index 92% rename from src/main/java/seedu/address/storage/JsonAdaptedTag.java rename to src/main/java/seedu/address/storage/json/model/JsonAdaptedTag.java index 0df22bdb754..804f2d50c98 100644 --- a/src/main/java/seedu/address/storage/JsonAdaptedTag.java +++ b/src/main/java/seedu/address/storage/json/model/JsonAdaptedTag.java @@ -1,4 +1,4 @@ -package seedu.address.storage; +package seedu.address.storage.json.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; @@ -9,7 +9,7 @@ /** * Jackson-friendly version of {@link Tag}. */ -class JsonAdaptedTag { +public class JsonAdaptedTag extends JsonAdapted { private final String tagName; diff --git a/src/main/java/seedu/address/storage/JsonSerializableAddressBook.java b/src/main/java/seedu/address/storage/json/serializable/JsonSerializableAddressBook.java similarity index 93% rename from src/main/java/seedu/address/storage/JsonSerializableAddressBook.java rename to src/main/java/seedu/address/storage/json/serializable/JsonSerializableAddressBook.java index 5efd834091d..78f75de5a4f 100644 --- a/src/main/java/seedu/address/storage/JsonSerializableAddressBook.java +++ b/src/main/java/seedu/address/storage/json/serializable/JsonSerializableAddressBook.java @@ -1,4 +1,4 @@ -package seedu.address.storage; +package seedu.address.storage.json.serializable; import java.util.ArrayList; import java.util.List; @@ -12,12 +12,13 @@ import seedu.address.model.AddressBook; import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.person.Person; +import seedu.address.storage.json.model.JsonAdaptedPerson; /** * An Immutable AddressBook that is serializable to JSON format. */ @JsonRootName(value = "addressbook") -class JsonSerializableAddressBook { +public class JsonSerializableAddressBook { public static final String MESSAGE_DUPLICATE_PERSON = "Persons list contains duplicate person(s)."; diff --git a/src/main/java/seedu/address/storage/json/serializable/JsonSerializableDeliveryJobSystem.java b/src/main/java/seedu/address/storage/json/serializable/JsonSerializableDeliveryJobSystem.java new file mode 100644 index 00000000000..ed12052703e --- /dev/null +++ b/src/main/java/seedu/address/storage/json/serializable/JsonSerializableDeliveryJobSystem.java @@ -0,0 +1,36 @@ +package seedu.address.storage.json.serializable; + +import java.util.ArrayList; +import java.util.List; + +import seedu.address.commons.exceptions.IllegalValueException; +import seedu.address.model.DeliveryJobSystem; +import seedu.address.model.jobs.DeliveryJob; +import seedu.address.storage.json.model.JsonAdaptedDeliveryJob; + +/** + * JsonSerializableDeliveryJobSystem + */ +public class JsonSerializableDeliveryJobSystem { + + private final List jobs = new ArrayList<>(); + + /** + * ToModelType + * + * @return DeliveryJobSystem + * @throws IllegalValueException + */ + public DeliveryJobSystem toModelType() throws IllegalValueException { + DeliveryJobSystem deliveryJobSystem = new DeliveryJobSystem(); + for (JsonAdaptedDeliveryJob jsonAdaptedDeliveryJob : jobs) { + DeliveryJob job = jsonAdaptedDeliveryJob.toModelType(); + // if (addressBook.hasPerson(person)) { + // throw new IllegalValueException(MESSAGE_DUPLICATE_PERSON); + // } + deliveryJobSystem.addDeliveryJob(job); + } + return deliveryJobSystem; + } + +} diff --git a/src/main/java/seedu/address/storage/JsonAddressBookStorage.java b/src/main/java/seedu/address/storage/json/storage/JsonAddressBookStorage.java similarity index 93% rename from src/main/java/seedu/address/storage/JsonAddressBookStorage.java rename to src/main/java/seedu/address/storage/json/storage/JsonAddressBookStorage.java index dfab9daaa0d..799b87ff3fa 100644 --- a/src/main/java/seedu/address/storage/JsonAddressBookStorage.java +++ b/src/main/java/seedu/address/storage/json/storage/JsonAddressBookStorage.java @@ -1,4 +1,4 @@ -package seedu.address.storage; +package seedu.address.storage.json.storage; import static java.util.Objects.requireNonNull; @@ -13,6 +13,8 @@ import seedu.address.commons.util.FileUtil; import seedu.address.commons.util.JsonUtil; import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.storage.AddressBookStorage; +import seedu.address.storage.json.serializable.JsonSerializableAddressBook; /** * A class to access AddressBook data stored as a json file on the hard disk. diff --git a/src/main/java/seedu/address/storage/json/storage/JsonDeliveryJobSystemStorage.java b/src/main/java/seedu/address/storage/json/storage/JsonDeliveryJobSystemStorage.java new file mode 100644 index 00000000000..fae31b17f1f --- /dev/null +++ b/src/main/java/seedu/address/storage/json/storage/JsonDeliveryJobSystemStorage.java @@ -0,0 +1,71 @@ +package seedu.address.storage.json.storage; + +import static java.util.Objects.requireNonNull; + +import java.io.IOException; +import java.nio.file.Path; +import java.util.Optional; +import java.util.logging.Logger; + +import seedu.address.commons.core.LogsCenter; +import seedu.address.commons.exceptions.DataConversionException; +import seedu.address.commons.exceptions.IllegalValueException; +import seedu.address.commons.util.JsonUtil; +import seedu.address.model.ReadOnlyDeliveryJobSystem; +import seedu.address.storage.DeliveryJobSystemStorage; +import seedu.address.storage.json.serializable.JsonSerializableDeliveryJobSystem; + +/** + * JsonDeliveryJobSystemStorage + */ +public class JsonDeliveryJobSystemStorage implements DeliveryJobSystemStorage { + + private static final Logger logger = LogsCenter.getLogger(JsonAddressBookStorage.class); + + private Path filePath; + + public JsonDeliveryJobSystemStorage(Path filePath) { + this.filePath = filePath; + } + + public Path getDeliveryJobFilePath() { + return filePath; + } + + @Override + public Optional readDeliveryJobSystem() throws DataConversionException, IOException { + return readDeliveryJobSystem(filePath); + } + + @Override + public Optional readDeliveryJobSystem(Path filePath) + throws DataConversionException, IOException { + requireNonNull(filePath); + + Optional jsonDeliveryJobSystem = JsonUtil.readJsonFile( + filePath, JsonSerializableDeliveryJobSystem.class); + if (!jsonDeliveryJobSystem.isPresent()) { + return Optional.empty(); + } + + try { + return Optional.of(jsonDeliveryJobSystem.get().toModelType()); + } catch (IllegalValueException ive) { + logger.info("Illegal values found in " + filePath + ": " + ive.getMessage()); + throw new DataConversionException(ive); + } + } + + @Override + public void saveDeliveryJobSystem(ReadOnlyDeliveryJobSystem addressBook, Path filePath) throws IOException { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'saveDeliveryJob'"); + } + + @Override + public void saveDeliveryJobSystem(ReadOnlyDeliveryJobSystem addressBook) throws IOException { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'saveDeliveryJob'"); + } + +} diff --git a/src/main/java/seedu/address/storage/JsonUserPrefsStorage.java b/src/main/java/seedu/address/storage/json/storage/JsonUserPrefsStorage.java similarity index 93% rename from src/main/java/seedu/address/storage/JsonUserPrefsStorage.java rename to src/main/java/seedu/address/storage/json/storage/JsonUserPrefsStorage.java index bc2bbad84aa..3521731d5ce 100644 --- a/src/main/java/seedu/address/storage/JsonUserPrefsStorage.java +++ b/src/main/java/seedu/address/storage/json/storage/JsonUserPrefsStorage.java @@ -1,4 +1,4 @@ -package seedu.address.storage; +package seedu.address.storage.json.storage; import java.io.IOException; import java.nio.file.Path; @@ -8,6 +8,7 @@ import seedu.address.commons.util.JsonUtil; import seedu.address.model.ReadOnlyUserPrefs; import seedu.address.model.UserPrefs; +import seedu.address.storage.UserPrefsStorage; /** * A class to access UserPrefs stored in the hard disk as a json file diff --git a/src/test/java/seedu/address/logic/LogicManagerTest.java b/src/test/java/seedu/address/logic/LogicManagerTest.java index ad923ac249a..8bc7116b9a2 100644 --- a/src/test/java/seedu/address/logic/LogicManagerTest.java +++ b/src/test/java/seedu/address/logic/LogicManagerTest.java @@ -27,9 +27,10 @@ import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.UserPrefs; import seedu.address.model.person.Person; -import seedu.address.storage.JsonAddressBookStorage; -import seedu.address.storage.JsonUserPrefsStorage; import seedu.address.storage.StorageManager; +import seedu.address.storage.json.storage.JsonAddressBookStorage; +import seedu.address.storage.json.storage.JsonDeliveryJobSystemStorage; +import seedu.address.storage.json.storage.JsonUserPrefsStorage; import seedu.address.testutil.PersonBuilder; public class LogicManagerTest { @@ -43,10 +44,12 @@ public class LogicManagerTest { @BeforeEach public void setUp() { - JsonAddressBookStorage addressBookStorage = - new JsonAddressBookStorage(temporaryFolder.resolve("addressBook.json")); + JsonAddressBookStorage addressBookStorage = new JsonAddressBookStorage( + temporaryFolder.resolve("addressBook.json")); + JsonDeliveryJobSystemStorage deliveryJobSystemStorage = new JsonDeliveryJobSystemStorage( + temporaryFolder.resolve("deliveryJobSystem.json")); JsonUserPrefsStorage userPrefsStorage = new JsonUserPrefsStorage(temporaryFolder.resolve("userPrefs.json")); - StorageManager storage = new StorageManager(addressBookStorage, userPrefsStorage); + StorageManager storage = new StorageManager(addressBookStorage, deliveryJobSystemStorage, userPrefsStorage); logic = new LogicManager(model, storage); } @@ -71,11 +74,13 @@ public void execute_validCommand_success() throws Exception { @Test public void execute_storageThrowsIoException_throwsCommandException() { // Setup LogicManager with JsonAddressBookIoExceptionThrowingStub - JsonAddressBookStorage addressBookStorage = - new JsonAddressBookIoExceptionThrowingStub(temporaryFolder.resolve("ioExceptionAddressBook.json")); - JsonUserPrefsStorage userPrefsStorage = - new JsonUserPrefsStorage(temporaryFolder.resolve("ioExceptionUserPrefs.json")); - StorageManager storage = new StorageManager(addressBookStorage, userPrefsStorage); + JsonAddressBookStorage addressBookStorage = new JsonAddressBookIoExceptionThrowingStub( + temporaryFolder.resolve("ioExceptionAddressBook.json")); + JsonDeliveryJobSystemStorage deliveryJobSystemStorage = new JsonDeliveryJobSystemStorage( + temporaryFolder.resolve("deliveryJobSystem.json")); + JsonUserPrefsStorage userPrefsStorage = new JsonUserPrefsStorage( + temporaryFolder.resolve("ioExceptionUserPrefs.json")); + StorageManager storage = new StorageManager(addressBookStorage, deliveryJobSystemStorage, userPrefsStorage); logic = new LogicManager(model, storage); // Execute add command @@ -97,7 +102,9 @@ public void getFilteredPersonList_modifyList_throwsUnsupportedOperationException * Executes the command and confirms that * - no exceptions are thrown
* - the feedback message is equal to {@code expectedMessage}
- * - the internal model manager state is the same as that in {@code expectedModel}
+ * - the internal model manager state is the same as that in + * {@code expectedModel}
+ * * @see #assertCommandFailure(String, Class, String, Model) */ private void assertCommandSuccess(String inputCommand, String expectedMessage, @@ -108,7 +115,9 @@ private void assertCommandSuccess(String inputCommand, String expectedMessage, } /** - * Executes the command, confirms that a ParseException is thrown and that the result message is correct. + * Executes the command, confirms that a ParseException is thrown and that the + * result message is correct. + * * @see #assertCommandFailure(String, Class, String, Model) */ private void assertParseException(String inputCommand, String expectedMessage) { @@ -116,7 +125,9 @@ private void assertParseException(String inputCommand, String expectedMessage) { } /** - * Executes the command, confirms that a CommandException is thrown and that the result message is correct. + * Executes the command, confirms that a CommandException is thrown and that the + * result message is correct. + * * @see #assertCommandFailure(String, Class, String, Model) */ private void assertCommandException(String inputCommand, String expectedMessage) { @@ -124,7 +135,9 @@ private void assertCommandException(String inputCommand, String expectedMessage) } /** - * Executes the command, confirms that the exception is thrown and that the result message is correct. + * Executes the command, confirms that the exception is thrown and that the + * result message is correct. + * * @see #assertCommandFailure(String, Class, String, Model) */ private void assertCommandFailure(String inputCommand, Class expectedException, @@ -137,7 +150,9 @@ private void assertCommandFailure(String inputCommand, Class * - the resulting error message is equal to {@code expectedMessage}
- * - the internal model manager state is the same as that in {@code expectedModel}
+ * - the internal model manager state is the same as that in + * {@code expectedModel}
+ * * @see #assertCommandSuccess(String, String, Model) */ private void assertCommandFailure(String inputCommand, Class expectedException, diff --git a/src/test/java/seedu/address/logic/commands/AddCommandTest.java b/src/test/java/seedu/address/logic/commands/AddCommandTest.java index 5865713d5dd..ca0ab103f9f 100644 --- a/src/test/java/seedu/address/logic/commands/AddCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/AddCommandTest.java @@ -20,6 +20,7 @@ import seedu.address.model.Model; import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.ReadOnlyUserPrefs; +import seedu.address.model.jobs.DeliveryJob; import seedu.address.model.person.Person; import seedu.address.testutil.PersonBuilder; @@ -147,6 +148,16 @@ public ObservableList getFilteredPersonList() { public void updateFilteredPersonList(Predicate predicate) { throw new AssertionError("This method should not be called."); } + + @Override + public ObservableList getDeliveryJobList() { + throw new AssertionError("This method should not be called."); + } + + @Override + public void updateFilteredDeliveryJobList(Predicate predicate) { + throw new AssertionError("This method should not be called."); + } } /** diff --git a/src/test/java/seedu/address/model/jobs/DeliveryPackageTest.java b/src/test/java/seedu/address/model/jobs/DeliveryPackageTest.java index 55d007bd0c4..aacdc7ef18e 100644 --- a/src/test/java/seedu/address/model/jobs/DeliveryPackageTest.java +++ b/src/test/java/seedu/address/model/jobs/DeliveryPackageTest.java @@ -10,6 +10,7 @@ public class DeliveryPackageTest { @BeforeEach void setUp() { item = new DeliveryPackage( + "", 0, 0, 0, diff --git a/src/test/java/seedu/address/storage/JsonAdaptedPersonTest.java b/src/test/java/seedu/address/storage/JsonAdaptedPersonTest.java index 83b11331cdb..255321d8f6c 100644 --- a/src/test/java/seedu/address/storage/JsonAdaptedPersonTest.java +++ b/src/test/java/seedu/address/storage/JsonAdaptedPersonTest.java @@ -1,7 +1,6 @@ package seedu.address.storage; import static org.junit.jupiter.api.Assertions.assertEquals; -import static seedu.address.storage.JsonAdaptedPerson.MISSING_FIELD_MESSAGE_FORMAT; import static seedu.address.testutil.Assert.assertThrows; import static seedu.address.testutil.TypicalPersons.BENSON; @@ -16,6 +15,8 @@ import seedu.address.model.person.Email; import seedu.address.model.person.Name; import seedu.address.model.person.Phone; +import seedu.address.storage.json.model.JsonAdaptedPerson; +import seedu.address.storage.json.model.JsonAdaptedTag; public class JsonAdaptedPersonTest { private static final String INVALID_NAME = "R@chel"; @@ -40,8 +41,8 @@ public void toModelType_validPersonDetails_returnsPerson() throws Exception { @Test public void toModelType_invalidName_throwsIllegalValueException() { - JsonAdaptedPerson person = - new JsonAdaptedPerson(INVALID_NAME, VALID_PHONE, VALID_EMAIL, VALID_ADDRESS, VALID_TAGS); + JsonAdaptedPerson person = new JsonAdaptedPerson(INVALID_NAME, VALID_PHONE, VALID_EMAIL, VALID_ADDRESS, + VALID_TAGS); String expectedMessage = Name.MESSAGE_CONSTRAINTS; assertThrows(IllegalValueException.class, expectedMessage, person::toModelType); } @@ -49,14 +50,15 @@ public void toModelType_invalidName_throwsIllegalValueException() { @Test public void toModelType_nullName_throwsIllegalValueException() { JsonAdaptedPerson person = new JsonAdaptedPerson(null, VALID_PHONE, VALID_EMAIL, VALID_ADDRESS, VALID_TAGS); - String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, Name.class.getSimpleName()); + String expectedMessage = String.format(JsonAdaptedPerson.MISSING_FIELD_MESSAGE_FORMAT, + Name.class.getSimpleName()); assertThrows(IllegalValueException.class, expectedMessage, person::toModelType); } @Test public void toModelType_invalidPhone_throwsIllegalValueException() { - JsonAdaptedPerson person = - new JsonAdaptedPerson(VALID_NAME, INVALID_PHONE, VALID_EMAIL, VALID_ADDRESS, VALID_TAGS); + JsonAdaptedPerson person = new JsonAdaptedPerson(VALID_NAME, INVALID_PHONE, VALID_EMAIL, VALID_ADDRESS, + VALID_TAGS); String expectedMessage = Phone.MESSAGE_CONSTRAINTS; assertThrows(IllegalValueException.class, expectedMessage, person::toModelType); } @@ -64,14 +66,15 @@ public void toModelType_invalidPhone_throwsIllegalValueException() { @Test public void toModelType_nullPhone_throwsIllegalValueException() { JsonAdaptedPerson person = new JsonAdaptedPerson(VALID_NAME, null, VALID_EMAIL, VALID_ADDRESS, VALID_TAGS); - String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, Phone.class.getSimpleName()); + String expectedMessage = String.format(JsonAdaptedPerson.MISSING_FIELD_MESSAGE_FORMAT, + Phone.class.getSimpleName()); assertThrows(IllegalValueException.class, expectedMessage, person::toModelType); } @Test public void toModelType_invalidEmail_throwsIllegalValueException() { - JsonAdaptedPerson person = - new JsonAdaptedPerson(VALID_NAME, VALID_PHONE, INVALID_EMAIL, VALID_ADDRESS, VALID_TAGS); + JsonAdaptedPerson person = new JsonAdaptedPerson(VALID_NAME, VALID_PHONE, INVALID_EMAIL, VALID_ADDRESS, + VALID_TAGS); String expectedMessage = Email.MESSAGE_CONSTRAINTS; assertThrows(IllegalValueException.class, expectedMessage, person::toModelType); } @@ -79,14 +82,15 @@ public void toModelType_invalidEmail_throwsIllegalValueException() { @Test public void toModelType_nullEmail_throwsIllegalValueException() { JsonAdaptedPerson person = new JsonAdaptedPerson(VALID_NAME, VALID_PHONE, null, VALID_ADDRESS, VALID_TAGS); - String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, Email.class.getSimpleName()); + String expectedMessage = String.format(JsonAdaptedPerson.MISSING_FIELD_MESSAGE_FORMAT, + Email.class.getSimpleName()); assertThrows(IllegalValueException.class, expectedMessage, person::toModelType); } @Test public void toModelType_invalidAddress_throwsIllegalValueException() { - JsonAdaptedPerson person = - new JsonAdaptedPerson(VALID_NAME, VALID_PHONE, VALID_EMAIL, INVALID_ADDRESS, VALID_TAGS); + JsonAdaptedPerson person = new JsonAdaptedPerson(VALID_NAME, VALID_PHONE, VALID_EMAIL, INVALID_ADDRESS, + VALID_TAGS); String expectedMessage = Address.MESSAGE_CONSTRAINTS; assertThrows(IllegalValueException.class, expectedMessage, person::toModelType); } @@ -94,7 +98,8 @@ public void toModelType_invalidAddress_throwsIllegalValueException() { @Test public void toModelType_nullAddress_throwsIllegalValueException() { JsonAdaptedPerson person = new JsonAdaptedPerson(VALID_NAME, VALID_PHONE, VALID_EMAIL, null, VALID_TAGS); - String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, Address.class.getSimpleName()); + String expectedMessage = String.format(JsonAdaptedPerson.MISSING_FIELD_MESSAGE_FORMAT, + Address.class.getSimpleName()); assertThrows(IllegalValueException.class, expectedMessage, person::toModelType); } @@ -102,8 +107,8 @@ public void toModelType_nullAddress_throwsIllegalValueException() { public void toModelType_invalidTags_throwsIllegalValueException() { List invalidTags = new ArrayList<>(VALID_TAGS); invalidTags.add(new JsonAdaptedTag(INVALID_TAG)); - JsonAdaptedPerson person = - new JsonAdaptedPerson(VALID_NAME, VALID_PHONE, VALID_EMAIL, VALID_ADDRESS, invalidTags); + JsonAdaptedPerson person = new JsonAdaptedPerson(VALID_NAME, VALID_PHONE, VALID_EMAIL, VALID_ADDRESS, + invalidTags); assertThrows(IllegalValueException.class, person::toModelType); } diff --git a/src/test/java/seedu/address/storage/JsonAddressBookStorageTest.java b/src/test/java/seedu/address/storage/JsonAddressBookStorageTest.java index ac3c3af9566..7cdeb6e2d4b 100644 --- a/src/test/java/seedu/address/storage/JsonAddressBookStorageTest.java +++ b/src/test/java/seedu/address/storage/JsonAddressBookStorageTest.java @@ -18,6 +18,7 @@ import seedu.address.commons.exceptions.DataConversionException; import seedu.address.model.AddressBook; import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.storage.json.storage.JsonAddressBookStorage; public class JsonAddressBookStorageTest { private static final Path TEST_DATA_FOLDER = Paths.get("src", "test", "data", "JsonAddressBookStorageTest"); diff --git a/src/test/java/seedu/address/storage/JsonSerializableAddressBookTest.java b/src/test/java/seedu/address/storage/JsonSerializableAddressBookTest.java index 188c9058d20..801a649fc59 100644 --- a/src/test/java/seedu/address/storage/JsonSerializableAddressBookTest.java +++ b/src/test/java/seedu/address/storage/JsonSerializableAddressBookTest.java @@ -11,6 +11,7 @@ import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.commons.util.JsonUtil; import seedu.address.model.AddressBook; +import seedu.address.storage.json.serializable.JsonSerializableAddressBook; import seedu.address.testutil.TypicalPersons; public class JsonSerializableAddressBookTest { diff --git a/src/test/java/seedu/address/storage/JsonUserPrefsStorageTest.java b/src/test/java/seedu/address/storage/JsonUserPrefsStorageTest.java index 16f33f4a6bb..0779ddde03c 100644 --- a/src/test/java/seedu/address/storage/JsonUserPrefsStorageTest.java +++ b/src/test/java/seedu/address/storage/JsonUserPrefsStorageTest.java @@ -15,6 +15,7 @@ import seedu.address.commons.core.GuiSettings; import seedu.address.commons.exceptions.DataConversionException; import seedu.address.model.UserPrefs; +import seedu.address.storage.json.storage.JsonUserPrefsStorage; public class JsonUserPrefsStorageTest { diff --git a/src/test/java/seedu/address/storage/StorageManagerTest.java b/src/test/java/seedu/address/storage/StorageManagerTest.java index 99a16548970..9bc936f3e0f 100644 --- a/src/test/java/seedu/address/storage/StorageManagerTest.java +++ b/src/test/java/seedu/address/storage/StorageManagerTest.java @@ -14,6 +14,9 @@ import seedu.address.model.AddressBook; import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.UserPrefs; +import seedu.address.storage.json.storage.JsonAddressBookStorage; +import seedu.address.storage.json.storage.JsonDeliveryJobSystemStorage; +import seedu.address.storage.json.storage.JsonUserPrefsStorage; public class StorageManagerTest { @@ -25,8 +28,9 @@ public class StorageManagerTest { @BeforeEach public void setUp() { JsonAddressBookStorage addressBookStorage = new JsonAddressBookStorage(getTempFilePath("ab")); + JsonDeliveryJobSystemStorage deliveryJobSystemStorage = new JsonDeliveryJobSystemStorage(getTempFilePath("dj")); JsonUserPrefsStorage userPrefsStorage = new JsonUserPrefsStorage(getTempFilePath("prefs")); - storageManager = new StorageManager(addressBookStorage, userPrefsStorage); + storageManager = new StorageManager(addressBookStorage, deliveryJobSystemStorage, userPrefsStorage); } private Path getTempFilePath(String fileName) { @@ -36,9 +40,11 @@ private Path getTempFilePath(String fileName) { @Test public void prefsReadSave() throws Exception { /* - * Note: This is an integration test that verifies the StorageManager is properly wired to the + * Note: This is an integration test that verifies the StorageManager is + * properly wired to the * {@link JsonUserPrefsStorage} class. - * More extensive testing of UserPref saving/reading is done in {@link JsonUserPrefsStorageTest} class. + * More extensive testing of UserPref saving/reading is done in {@link + * JsonUserPrefsStorageTest} class. */ UserPrefs original = new UserPrefs(); original.setGuiSettings(new GuiSettings(300, 600, 4, 6)); @@ -50,9 +56,11 @@ public void prefsReadSave() throws Exception { @Test public void addressBookReadSave() throws Exception { /* - * Note: This is an integration test that verifies the StorageManager is properly wired to the + * Note: This is an integration test that verifies the StorageManager is + * properly wired to the * {@link JsonAddressBookStorage} class. - * More extensive testing of UserPref saving/reading is done in {@link JsonAddressBookStorageTest} class. + * More extensive testing of UserPref saving/reading is done in {@link + * JsonAddressBookStorageTest} class. */ AddressBook original = getTypicalAddressBook(); storageManager.saveAddressBook(original); From 218a0c366edc7d9db8337db5d0254a298bdc36c2 Mon Sep 17 00:00:00 2001 From: dohaduong Date: Thu, 9 Mar 2023 20:28:43 +0800 Subject: [PATCH 054/470] Add Chat button --- src/main/resources/view/PersonListCard.fxml | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/main/resources/view/PersonListCard.fxml b/src/main/resources/view/PersonListCard.fxml index f08ea32ad55..96f865e2fa9 100644 --- a/src/main/resources/view/PersonListCard.fxml +++ b/src/main/resources/view/PersonListCard.fxml @@ -1,36 +1,46 @@ + + - + - + - + - + + + From 2c3b5595a24fe5d5392540130ed949847c893789 Mon Sep 17 00:00:00 2001 From: dohaduong Date: Thu, 9 Mar 2023 21:10:10 +0800 Subject: [PATCH 055/470] Add Chat button No chat button to chat with contacts Chat button allows users to chat with contacts more easily - only by one click. Let's add chat button to each person list card. --- src/main/resources/view/PersonListCard.fxml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/view/PersonListCard.fxml b/src/main/resources/view/PersonListCard.fxml index 96f865e2fa9..a2f6ded5cee 100644 --- a/src/main/resources/view/PersonListCard.fxml +++ b/src/main/resources/view/PersonListCard.fxml @@ -33,7 +33,7 @@
-[CH1] Display timetable and scheduling tasks +[DE4] Display timetable and scheduling tasks
 MSS
 1. User requests to display timetable by selecting Timetable option on homepage.

From 60bdcdde6afaafaf72e3dcab4cc35069db6b1cd2 Mon Sep 17 00:00:00 2001
From: dohaduong 
Date: Fri, 10 Mar 2023 13:34:18 +0800
Subject: [PATCH 071/470] Update use case TT1 for timetable/scheduling tasks

---
 docs/DeveloperGuide.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md
index 16a3473c0e8..f213fba4677 100644
--- a/docs/DeveloperGuide.md
+++ b/docs/DeveloperGuide.md
@@ -353,7 +353,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
 
 
 
-[DE4] Display timetable and scheduling tasks +[TT1] Display timetable and scheduling tasks
 MSS
 1. User requests to display timetable by selecting Timetable option on homepage.

From d5bb9e7ff623f6d90999b1ac0b7120d3f649efff Mon Sep 17 00:00:00 2001
From: ChinJunAn 
Date: Fri, 10 Mar 2023 22:15:10 +0800
Subject: [PATCH 072/470] WIP

---
 src/main/java/seedu/address/MainApp.java      | 38 ++++++-----
 src/main/java/seedu/address/model/Model.java  | 22 ++++++
 .../seedu/address/model/ModelManager.java     | 34 +++++++++-
 .../address/model/ReadOnlyReminders.java      | 15 +++++
 .../address/model/ReadOnlyUserPrefs.java      |  2 +
 .../java/seedu/address/model/Reminders.java   | 65 ++++++++++++++++++
 .../java/seedu/address/model/UserPrefs.java   | 10 +++
 .../address/model/reminder/Reminder.java      | 36 ++++++++++
 .../address/model/reminder/ReminderList.java  | 67 +++++++++++++++++++
 .../address/storage/JsonRemindersStorage.java | 66 ++++++++++++++++++
 .../address/storage/RemindersStorage.java     | 44 ++++++++++++
 .../java/seedu/address/storage/Storage.java   |  9 ++-
 .../seedu/address/storage/StorageManager.java | 37 ++++++++--
 src/main/java/seedu/address/ui/UiManager.java | 20 +++---
 14 files changed, 433 insertions(+), 32 deletions(-)
 create mode 100644 src/main/java/seedu/address/model/ReadOnlyReminders.java
 create mode 100644 src/main/java/seedu/address/model/Reminders.java
 create mode 100644 src/main/java/seedu/address/model/reminder/Reminder.java
 create mode 100644 src/main/java/seedu/address/model/reminder/ReminderList.java
 create mode 100644 src/main/java/seedu/address/storage/JsonRemindersStorage.java
 create mode 100644 src/main/java/seedu/address/storage/RemindersStorage.java

diff --git a/src/main/java/seedu/address/MainApp.java b/src/main/java/seedu/address/MainApp.java
index 4133aaa0151..2ac379dcec5 100644
--- a/src/main/java/seedu/address/MainApp.java
+++ b/src/main/java/seedu/address/MainApp.java
@@ -15,19 +15,9 @@
 import seedu.address.commons.util.StringUtil;
 import seedu.address.logic.Logic;
 import seedu.address.logic.LogicManager;
-import seedu.address.model.AddressBook;
-import seedu.address.model.Model;
-import seedu.address.model.ModelManager;
-import seedu.address.model.ReadOnlyAddressBook;
-import seedu.address.model.ReadOnlyUserPrefs;
-import seedu.address.model.UserPrefs;
+import seedu.address.model.*;
 import seedu.address.model.util.SampleDataUtil;
-import seedu.address.storage.AddressBookStorage;
-import seedu.address.storage.JsonAddressBookStorage;
-import seedu.address.storage.JsonUserPrefsStorage;
-import seedu.address.storage.Storage;
-import seedu.address.storage.StorageManager;
-import seedu.address.storage.UserPrefsStorage;
+import seedu.address.storage.*;
 import seedu.address.ui.Ui;
 import seedu.address.ui.UiManager;
 
@@ -57,7 +47,8 @@ public void init() throws Exception {
         UserPrefsStorage userPrefsStorage = new JsonUserPrefsStorage(config.getUserPrefsFilePath());
         UserPrefs userPrefs = initPrefs(userPrefsStorage);
         AddressBookStorage addressBookStorage = new JsonAddressBookStorage(userPrefs.getAddressBookFilePath());
-        storage = new StorageManager(addressBookStorage, userPrefsStorage);
+        RemindersStorage remindersStorage = new JsonRemindersStorage(userPrefs.getReminderFilePath());
+        storage = new StorageManager(addressBookStorage, userPrefsStorage, remindersStorage);
 
         initLogging(config);
 
@@ -76,21 +67,36 @@ public void init() throws Exception {
     private Model initModelManager(Storage storage, ReadOnlyUserPrefs userPrefs) {
         Optional addressBookOptional;
         ReadOnlyAddressBook initialData;
+
+        Optional remindersOptional;
+        ReadOnlyReminders initialReminders;
+
         try {
             addressBookOptional = storage.readAddressBook();
             if (!addressBookOptional.isPresent()) {
                 logger.info("Data file not found. Will be starting with a sample AddressBook");
             }
             initialData = addressBookOptional.orElseGet(SampleDataUtil::getSampleAddressBook);
+
+            remindersOptional = storage.readReminders();
+            if (!remindersOptional.isPresent()) {
+                logger.info("Data file not found. Will be starting with a sample AddressBook");
+                initialReminders = new Reminders();
+            } else {
+                initialReminders = remindersOptional.orElse(new Reminders());
+            }
+
         } catch (DataConversionException e) {
-            logger.warning("Data file not in the correct format. Will be starting with an empty AddressBook");
+            logger.warning("Data file not in the correct format. Will be starting with an empty AddressBook and Reminders");
             initialData = new AddressBook();
+            initialReminders = new Reminders();
         } catch (IOException e) {
-            logger.warning("Problem while reading from the file. Will be starting with an empty AddressBook");
+            logger.warning("Problem while reading from the file. Will be starting with an empty AddressBook and Reminders");
             initialData = new AddressBook();
+            initialReminders = new Reminders();
         }
 
-        return new ModelManager(initialData, userPrefs);
+        return new ModelManager(initialData, userPrefs, initialReminders);
     }
 
     private void initLogging(Config config) {
diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java
index d54df471c1f..a12a12c27dd 100644
--- a/src/main/java/seedu/address/model/Model.java
+++ b/src/main/java/seedu/address/model/Model.java
@@ -6,6 +6,7 @@
 import javafx.collections.ObservableList;
 import seedu.address.commons.core.GuiSettings;
 import seedu.address.model.person.Person;
+import seedu.address.model.reminder.Reminder;
 
 /**
  * The API of the Model component.
@@ -84,4 +85,25 @@ public interface Model {
      * @throws NullPointerException if {@code predicate} is null.
      */
     void updateFilteredPersonList(Predicate predicate);
+
+    /**
+     * Replaces reminders data with the data in {@code reminders}.
+     */
+    void setReminders(ReadOnlyReminders reminders);
+
+    /** Returns Reminders */
+    ReadOnlyReminders getReminders();
+
+    /**
+     * Deletes the given reminder.
+     * The reminder must exist in reminders.
+     */
+    void deleteReminder(int i);
+
+    /**
+     * Adds the given reminder.
+     */
+    void addReminder(Reminder reminder);
+
+
 }
diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java
index 86c1df298d7..abe68401e76 100644
--- a/src/main/java/seedu/address/model/ModelManager.java
+++ b/src/main/java/seedu/address/model/ModelManager.java
@@ -12,6 +12,8 @@
 import seedu.address.commons.core.GuiSettings;
 import seedu.address.commons.core.LogsCenter;
 import seedu.address.model.person.Person;
+import seedu.address.model.reminder.Reminder;
+
 
 /**
  * Represents the in-memory model of the address book data.
@@ -22,22 +24,26 @@ public class ModelManager implements Model {
     private final AddressBook addressBook;
     private final UserPrefs userPrefs;
     private final FilteredList filteredPersons;
+    private final Reminders reminders;
+
 
     /**
      * Initializes a ModelManager with the given addressBook and userPrefs.
      */
-    public ModelManager(ReadOnlyAddressBook addressBook, ReadOnlyUserPrefs userPrefs) {
+    public ModelManager(ReadOnlyAddressBook addressBook, ReadOnlyUserPrefs userPrefs, ReadOnlyReminders reminders) {
         requireAllNonNull(addressBook, userPrefs);
 
-        logger.fine("Initializing with address book: " + addressBook + " and user prefs " + userPrefs);
+        logger.fine("Initializing with address book: " + addressBook + ", user prefs " + userPrefs
+                + ", and reminders " + reminders);
 
         this.addressBook = new AddressBook(addressBook);
         this.userPrefs = new UserPrefs(userPrefs);
         filteredPersons = new FilteredList<>(this.addressBook.getPersonList());
+        this.reminders = new Reminders(reminders);
     }
 
     public ModelManager() {
-        this(new AddressBook(), new UserPrefs());
+        this(new AddressBook(), new UserPrefs(), new Reminders());
     }
 
     //=========== UserPrefs ==================================================================================
@@ -128,6 +134,28 @@ public void updateFilteredPersonList(Predicate predicate) {
         filteredPersons.setPredicate(predicate);
     }
 
+    //=========== Reminders Accessors =============================================================
+
+    @Override
+    public void setReminders(ReadOnlyReminders reminders) {
+        this.reminders.resetData(reminders);
+    }
+
+    @Override
+    public ReadOnlyReminders getReminders() {
+        return reminders;
+    }
+
+    @Override
+    public void deleteReminder(int i) {
+        reminders.removeReminder(i);
+    }
+
+    @Override
+    public void addReminder(Reminder reminder) {
+        reminders.addReminder(reminder);
+    }
+
     @Override
     public boolean equals(Object obj) {
         // short circuit if same object
diff --git a/src/main/java/seedu/address/model/ReadOnlyReminders.java b/src/main/java/seedu/address/model/ReadOnlyReminders.java
new file mode 100644
index 00000000000..2084bd5d555
--- /dev/null
+++ b/src/main/java/seedu/address/model/ReadOnlyReminders.java
@@ -0,0 +1,15 @@
+package seedu.address.model;
+
+import javafx.collections.ObservableList;
+import seedu.address.model.reminder.Reminder;
+
+/**
+ * Unmodifiable view of the reminders
+ */
+public interface ReadOnlyReminders {
+
+    /**
+     * Returns an unmodifiable view of the list of reminders.
+     */
+    ObservableList getReminders();
+}
diff --git a/src/main/java/seedu/address/model/ReadOnlyUserPrefs.java b/src/main/java/seedu/address/model/ReadOnlyUserPrefs.java
index befd58a4c73..809c08b9f57 100644
--- a/src/main/java/seedu/address/model/ReadOnlyUserPrefs.java
+++ b/src/main/java/seedu/address/model/ReadOnlyUserPrefs.java
@@ -13,4 +13,6 @@ public interface ReadOnlyUserPrefs {
 
     Path getAddressBookFilePath();
 
+    Path getReminderFilePath();
+
 }
diff --git a/src/main/java/seedu/address/model/Reminders.java b/src/main/java/seedu/address/model/Reminders.java
new file mode 100644
index 00000000000..ba8fc4659af
--- /dev/null
+++ b/src/main/java/seedu/address/model/Reminders.java
@@ -0,0 +1,65 @@
+package seedu.address.model;
+
+import javafx.collections.ObservableList;
+import seedu.address.model.reminder.Reminder;
+import seedu.address.model.reminder.ReminderList;
+
+import java.util.List;
+
+import static java.util.Objects.requireNonNull;
+
+public class Reminders implements ReadOnlyReminders {
+
+    private final ReminderList reminderList;
+
+    /*
+     * The 'unusual' code block below is a non-static initialization block, sometimes used to avoid duplication
+     * between constructors. See https://docs.oracle.com/javase/tutorial/java/javaOO/initial.html
+     *
+     * Note that non-static init blocks are not recommended to use. There are other ways to avoid duplication
+     *   among constructors.
+     */
+    {
+        reminderList = new ReminderList();
+    }
+
+    public Reminders() {}
+
+    public Reminders(ReadOnlyReminders toBeCopied) {
+        this();
+        resetData(toBeCopied);
+    }
+
+    public void setReminders(List reminders) {
+        this.reminderList.setReminders(reminders);
+    }
+
+    public void resetData(ReadOnlyReminders newData) {
+        requireNonNull(newData);
+        setReminders(newData.getReminders());
+    }
+
+    public void addReminder(Reminder r) {
+        reminderList.add(r);
+    }
+
+    public void removeReminder(int i) {
+        reminderList.remove(i);
+    }
+
+    public String toString() {
+        return reminderList.asUnmodifiableObservableList().size() + " reminders";
+    }
+
+    @Override
+    public ObservableList getReminders() {
+        return reminderList.asUnmodifiableObservableList();
+    }
+
+    @Override
+    public boolean equals(Object other) {
+        return other == this // short circuit if same object
+                || (other instanceof Reminders // instanceof handles nulls
+                && reminderList.equals(((Reminders) other).reminderList));
+    }
+}
diff --git a/src/main/java/seedu/address/model/UserPrefs.java b/src/main/java/seedu/address/model/UserPrefs.java
index 25a5fd6eab9..1676f8fa799 100644
--- a/src/main/java/seedu/address/model/UserPrefs.java
+++ b/src/main/java/seedu/address/model/UserPrefs.java
@@ -15,6 +15,7 @@ public class UserPrefs implements ReadOnlyUserPrefs {
 
     private GuiSettings guiSettings = new GuiSettings();
     private Path addressBookFilePath = Paths.get("data" , "addressbook.json");
+    private Path reminderFilePath = Paths.get("reminders.json");
 
     /**
      * Creates a {@code UserPrefs} with default values.
@@ -36,6 +37,7 @@ public void resetData(ReadOnlyUserPrefs newUserPrefs) {
         requireNonNull(newUserPrefs);
         setGuiSettings(newUserPrefs.getGuiSettings());
         setAddressBookFilePath(newUserPrefs.getAddressBookFilePath());
+        setReminderFilePathFilePath(newUserPrefs.getReminderFilePath());
     }
 
     public GuiSettings getGuiSettings() {
@@ -55,6 +57,14 @@ public void setAddressBookFilePath(Path addressBookFilePath) {
         requireNonNull(addressBookFilePath);
         this.addressBookFilePath = addressBookFilePath;
     }
+    public Path getReminderFilePath() {
+        return reminderFilePath;
+    }
+
+    public void setReminderFilePathFilePath(Path reminderFilePath) {
+        requireNonNull(reminderFilePath);
+        this.reminderFilePath = reminderFilePath;
+    }
 
     @Override
     public boolean equals(Object other) {
diff --git a/src/main/java/seedu/address/model/reminder/Reminder.java b/src/main/java/seedu/address/model/reminder/Reminder.java
new file mode 100644
index 00000000000..e6cbe38429e
--- /dev/null
+++ b/src/main/java/seedu/address/model/reminder/Reminder.java
@@ -0,0 +1,36 @@
+package seedu.address.model.reminder;
+
+import java.time.LocalDateTime;
+
+import static seedu.address.commons.util.CollectionUtil.requireAllNonNull;
+
+/**
+ * Represents a Reminder in the Reminders.
+ * Guarantees: details are present and not null, field values are validated, immutable.
+ */
+public class Reminder {
+    private final String description;
+    private final LocalDateTime reminderDateTime;
+
+
+    public Reminder(String description, LocalDateTime reminderDateTime) {
+        requireAllNonNull(description, reminderDateTime);
+        this.description = description;
+        this.reminderDateTime = reminderDateTime;
+    }
+
+    public String getDescription() {
+        return this.description;
+    }
+
+    public LocalDateTime getReminderDateTime() {
+        return this.reminderDateTime;
+    }
+
+    public String toString() {
+        final StringBuilder builder = new StringBuilder();
+        builder.append(getDescription());
+        return builder.toString();
+    }
+
+}
diff --git a/src/main/java/seedu/address/model/reminder/ReminderList.java b/src/main/java/seedu/address/model/reminder/ReminderList.java
new file mode 100644
index 00000000000..bb81d0a61d1
--- /dev/null
+++ b/src/main/java/seedu/address/model/reminder/ReminderList.java
@@ -0,0 +1,67 @@
+package seedu.address.model.reminder;
+
+import javafx.collections.FXCollections;
+import javafx.collections.ObservableList;
+
+import java.util.Iterator;
+import java.util.List;
+
+import static java.util.Objects.requireNonNull;
+import static seedu.address.commons.util.CollectionUtil.requireAllNonNull;
+
+/**
+ * A list of reminders that does not allow nulls.
+ *
+ * Supports a minimal set of list operations.
+ *
+ */
+
+public class ReminderList implements Iterable{
+    private final ObservableList internalList = FXCollections.observableArrayList();
+    private final ObservableList internalUnmodifiableList =
+            FXCollections.unmodifiableObservableList(internalList);
+
+    /**
+     * Adds a reminder to the list.
+     */
+    public void add(Reminder toAdd) {
+        requireNonNull(toAdd);
+        internalList.add(toAdd);
+    }
+
+    /**
+     * Removes the reminder from the list.
+     * The reminder must exist in the list.
+     */
+    public void remove(int i) {
+        requireNonNull(internalList.get(i));
+        internalList.remove(i);
+    }
+
+    public void setReminderList(ReminderList replacement) {
+        requireNonNull(replacement);
+        internalList.setAll(replacement.internalList);
+    }
+    /**
+     * Replaces the contents of this list with {@code reminderList}.
+     */
+    public void setReminders(List reminderList) {
+        requireAllNonNull(reminderList);
+        internalList.setAll(reminderList);
+    }
+
+    /**
+     * Returns the backing list as an unmodifiable {@code ObservableList}.
+     */
+    public ObservableList asUnmodifiableObservableList() {
+        return internalUnmodifiableList;
+    }
+
+    @Override
+    public Iterator iterator() {
+        return internalList.iterator();
+    }
+
+
+
+}
diff --git a/src/main/java/seedu/address/storage/JsonRemindersStorage.java b/src/main/java/seedu/address/storage/JsonRemindersStorage.java
new file mode 100644
index 00000000000..695328a1d6d
--- /dev/null
+++ b/src/main/java/seedu/address/storage/JsonRemindersStorage.java
@@ -0,0 +1,66 @@
+package seedu.address.storage;
+
+import java.io.IOException;
+import java.nio.file.Path;
+import java.util.Optional;
+import java.util.logging.Logger;
+import seedu.address.commons.core.LogsCenter;
+import seedu.address.commons.exceptions.DataConversionException;
+import seedu.address.commons.util.FileUtil;
+import seedu.address.commons.util.JsonUtil;
+import seedu.address.model.ReadOnlyReminders;
+import seedu.address.model.Reminders;
+
+import static java.util.Objects.requireNonNull;
+
+/**
+ * A class to access Reminders data stored as a json file on the hard disk.
+ */
+public class JsonRemindersStorage implements RemindersStorage{
+
+    private static final Logger logger = LogsCenter.getLogger(JsonRemindersStorage.class);
+
+    private Path filePath;
+
+    public JsonRemindersStorage(Path filePath) {
+        this.filePath = filePath;
+    }
+
+    public Path getRemindersFilePath() {
+        return filePath;
+    }
+
+    @Override
+    public Optional readReminders() throws DataConversionException {
+        return readReminders(filePath);
+    }
+
+    /**
+     * Similar to {@link #readReminders()}.
+     *
+     * @param filePath location of the data. Cannot be null.
+     * @throws DataConversionException if the file is not in the correct format.
+     */
+    public Optional readReminders(Path filePath) throws DataConversionException {
+        requireNonNull(filePath);
+        return JsonUtil.readJsonFile(filePath, ReadOnlyReminders.class);
+    }
+
+    @Override
+    public void saveReminders(ReadOnlyReminders reminders) throws IOException {
+        JsonUtil.saveJsonFile(reminders, filePath);
+    }
+
+    /**
+     * Similar to {@link #saveReminders(ReadOnlyReminders)}.
+     *
+     * @param filePath location of the data. Cannot be null.
+     */
+    public void saveReminders(ReadOnlyReminders reminders, Path filePath) throws IOException {
+        requireNonNull(reminders);
+        requireNonNull(filePath);
+
+        FileUtil.createIfMissing(filePath);
+        JsonUtil.saveJsonFile(reminders, filePath);
+    }
+}
diff --git a/src/main/java/seedu/address/storage/RemindersStorage.java b/src/main/java/seedu/address/storage/RemindersStorage.java
new file mode 100644
index 00000000000..80b9507c825
--- /dev/null
+++ b/src/main/java/seedu/address/storage/RemindersStorage.java
@@ -0,0 +1,44 @@
+package seedu.address.storage;
+
+import seedu.address.commons.exceptions.DataConversionException;
+import seedu.address.model.ReadOnlyReminders;
+import seedu.address.model.Reminders;
+
+import java.io.IOException;
+import java.nio.file.Path;
+import java.util.Optional;
+
+public interface RemindersStorage {
+
+    /**
+     * Returns the file path of the Reminders data file.
+     */
+    Path getRemindersFilePath();
+
+    /**
+     * Returns Reminders data from storage as a {@link ReadOnlyReminders}.
+     *   Returns {@code Optional.empty()} if storage file is not found.
+     * @throws DataConversionException if the data in storage is not in the expected format.
+     * @throws IOException if there was any problem when reading from the storage.
+     */
+    Optional readReminders() throws DataConversionException, IOException;
+
+    /**
+     * @see #getRemindersFilePath()
+     */
+    Optional readReminders(Path filePath) throws DataConversionException, IOException;
+
+    /**
+     * Saves the given {@link ReadOnlyReminders} to the storage.
+     * @param reminders cannot be null.
+     * @throws IOException if there was any problem writing to the file.
+     */
+    void saveReminders(ReadOnlyReminders reminders) throws IOException;
+
+    /**
+     * @see #saveReminders(ReadOnlyReminders)
+     */
+    void saveReminders(ReadOnlyReminders reminders, Path filePath) throws IOException;
+
+
+}
diff --git a/src/main/java/seedu/address/storage/Storage.java b/src/main/java/seedu/address/storage/Storage.java
index beda8bd9f11..48000887001 100644
--- a/src/main/java/seedu/address/storage/Storage.java
+++ b/src/main/java/seedu/address/storage/Storage.java
@@ -6,13 +6,14 @@
 
 import seedu.address.commons.exceptions.DataConversionException;
 import seedu.address.model.ReadOnlyAddressBook;
+import seedu.address.model.ReadOnlyReminders;
 import seedu.address.model.ReadOnlyUserPrefs;
 import seedu.address.model.UserPrefs;
 
 /**
  * API of the Storage component
  */
-public interface Storage extends AddressBookStorage, UserPrefsStorage {
+public interface Storage extends AddressBookStorage, UserPrefsStorage, RemindersStorage {
 
     @Override
     Optional readUserPrefs() throws DataConversionException, IOException;
@@ -29,4 +30,10 @@ public interface Storage extends AddressBookStorage, UserPrefsStorage {
     @Override
     void saveAddressBook(ReadOnlyAddressBook addressBook) throws IOException;
 
+    @Override
+    Optional readReminders() throws DataConversionException, IOException;
+
+    @Override
+    void saveReminders(ReadOnlyReminders reminders) throws IOException;
+
 }
diff --git a/src/main/java/seedu/address/storage/StorageManager.java b/src/main/java/seedu/address/storage/StorageManager.java
index 6cfa0162164..c048fa1397c 100644
--- a/src/main/java/seedu/address/storage/StorageManager.java
+++ b/src/main/java/seedu/address/storage/StorageManager.java
@@ -7,9 +7,7 @@
 
 import seedu.address.commons.core.LogsCenter;
 import seedu.address.commons.exceptions.DataConversionException;
-import seedu.address.model.ReadOnlyAddressBook;
-import seedu.address.model.ReadOnlyUserPrefs;
-import seedu.address.model.UserPrefs;
+import seedu.address.model.*;
 
 /**
  * Manages storage of AddressBook data in local storage.
@@ -19,13 +17,15 @@ public class StorageManager implements Storage {
     private static final Logger logger = LogsCenter.getLogger(StorageManager.class);
     private AddressBookStorage addressBookStorage;
     private UserPrefsStorage userPrefsStorage;
+    private RemindersStorage remindersStorage;
 
     /**
      * Creates a {@code StorageManager} with the given {@code AddressBookStorage} and {@code UserPrefStorage}.
      */
-    public StorageManager(AddressBookStorage addressBookStorage, UserPrefsStorage userPrefsStorage) {
+    public StorageManager(AddressBookStorage addressBookStorage, UserPrefsStorage userPrefsStorage, RemindersStorage remindersStorage) {
         this.addressBookStorage = addressBookStorage;
         this.userPrefsStorage = userPrefsStorage;
+        this.remindersStorage = remindersStorage;
     }
 
     // ================ UserPrefs methods ==============================
@@ -75,4 +75,33 @@ public void saveAddressBook(ReadOnlyAddressBook addressBook, Path filePath) thro
         addressBookStorage.saveAddressBook(addressBook, filePath);
     }
 
+    // ================ Reminders methods ==============================
+
+    @Override
+    public Path getRemindersFilePath() {
+        return remindersStorage.getRemindersFilePath();
+    }
+
+    @Override
+    public Optional readReminders() throws DataConversionException, IOException {
+        return readReminders(remindersStorage.getRemindersFilePath());
+    }
+
+    @Override
+    public Optional readReminders(Path filePath) throws DataConversionException, IOException {
+        logger.fine("Attempting to read data from file: " + filePath);
+        return remindersStorage.readReminders(filePath);
+    }
+
+    @Override
+    public void saveReminders(ReadOnlyReminders reminders) throws IOException {
+        saveReminders(reminders, remindersStorage.getRemindersFilePath());
+    }
+
+    @Override
+    public void saveReminders(ReadOnlyReminders reminders, Path filePath) throws IOException {
+        logger.fine("Attempting to write to data file: " + filePath);
+        remindersStorage.saveReminders(reminders, filePath);
+    }
+
 }
diff --git a/src/main/java/seedu/address/ui/UiManager.java b/src/main/java/seedu/address/ui/UiManager.java
index accac55c082..0f721d04ef4 100644
--- a/src/main/java/seedu/address/ui/UiManager.java
+++ b/src/main/java/seedu/address/ui/UiManager.java
@@ -47,14 +47,7 @@ public void start(Stage primaryStage) {
             mainWindow.show(); //This should be called before creating other UI parts
             mainWindow.fillInnerParts();
 
-            //show notifications
-            Notifications notificationBuilder = Notifications.create()
-                    .title("Test Notification")
-                    .text("This is a test Notification")
-                    .graphic(null)
-                    .hideAfter(Duration.seconds(5))
-                    .position(Pos.TOP_RIGHT);
-            notificationBuilder.showConfirm();
+            showNotification();
 
         } catch (Throwable e) {
             logger.severe(StringUtil.getDetails(e));
@@ -62,6 +55,17 @@ public void start(Stage primaryStage) {
         }
     }
 
+    public void showNotification() {
+        //show notifications
+        Notifications notificationBuilder = Notifications.create()
+                .title("Test Notification")
+                .text("This is a test Notification")
+                .graphic(null)
+                .hideAfter(Duration.seconds(5))
+                .position(Pos.TOP_RIGHT);
+        notificationBuilder.showConfirm();
+    }
+
     private Image getImage(String imagePath) {
         return new Image(MainApp.class.getResourceAsStream(imagePath));
     }

From af574c87c883721aef19845d68f77a0c14f2e970 Mon Sep 17 00:00:00 2001
From: ChinJunAn 
Date: Sat, 11 Mar 2023 13:21:20 +0800
Subject: [PATCH 073/470] Remove Reminders

Misunderstood the architecture of AB3. Just require to add a new
component into the addressBook, "reminderList"
---
 src/main/java/seedu/address/MainApp.java      | 18 +----
 .../address/commons/util/DateTimeUtil.java    | 15 +++++
 .../address/logic/commands/AddReminder.java   | 46 +++++++++++++
 .../commands/exceptions/CommandException.java |  2 +
 .../seedu/address/logic/parser/CliSyntax.java |  2 +
 .../java/seedu/address/model/AddressBook.java | 26 ++++++++
 src/main/java/seedu/address/model/Model.java  |  8 ---
 .../seedu/address/model/ModelManager.java     | 23 ++-----
 .../address/model/ReadOnlyAddressBook.java    |  3 +
 .../address/model/ReadOnlyReminders.java      | 15 -----
 .../address/model/ReadOnlyUserPrefs.java      |  2 -
 .../java/seedu/address/model/Reminders.java   | 65 ------------------
 .../java/seedu/address/model/UserPrefs.java   | 10 ---
 .../address/model/reminder/Reminder.java      |  5 ++
 .../address/storage/JsonAdaptedReminder.java  | 41 ++++++++++++
 .../address/storage/JsonRemindersStorage.java | 66 -------------------
 .../storage/JsonSerializableAddressBook.java  | 15 ++++-
 .../address/storage/RemindersStorage.java     | 44 -------------
 .../java/seedu/address/storage/Storage.java   |  9 +--
 .../seedu/address/storage/StorageManager.java | 34 +---------
 20 files changed, 162 insertions(+), 287 deletions(-)
 create mode 100644 src/main/java/seedu/address/commons/util/DateTimeUtil.java
 create mode 100644 src/main/java/seedu/address/logic/commands/AddReminder.java
 delete mode 100644 src/main/java/seedu/address/model/ReadOnlyReminders.java
 delete mode 100644 src/main/java/seedu/address/model/Reminders.java
 create mode 100644 src/main/java/seedu/address/storage/JsonAdaptedReminder.java
 delete mode 100644 src/main/java/seedu/address/storage/JsonRemindersStorage.java
 delete mode 100644 src/main/java/seedu/address/storage/RemindersStorage.java

diff --git a/src/main/java/seedu/address/MainApp.java b/src/main/java/seedu/address/MainApp.java
index 2ac379dcec5..971c6a14cfa 100644
--- a/src/main/java/seedu/address/MainApp.java
+++ b/src/main/java/seedu/address/MainApp.java
@@ -47,8 +47,7 @@ public void init() throws Exception {
         UserPrefsStorage userPrefsStorage = new JsonUserPrefsStorage(config.getUserPrefsFilePath());
         UserPrefs userPrefs = initPrefs(userPrefsStorage);
         AddressBookStorage addressBookStorage = new JsonAddressBookStorage(userPrefs.getAddressBookFilePath());
-        RemindersStorage remindersStorage = new JsonRemindersStorage(userPrefs.getReminderFilePath());
-        storage = new StorageManager(addressBookStorage, userPrefsStorage, remindersStorage);
+        storage = new StorageManager(addressBookStorage, userPrefsStorage);
 
         initLogging(config);
 
@@ -68,9 +67,6 @@ private Model initModelManager(Storage storage, ReadOnlyUserPrefs userPrefs) {
         Optional addressBookOptional;
         ReadOnlyAddressBook initialData;
 
-        Optional remindersOptional;
-        ReadOnlyReminders initialReminders;
-
         try {
             addressBookOptional = storage.readAddressBook();
             if (!addressBookOptional.isPresent()) {
@@ -78,25 +74,15 @@ private Model initModelManager(Storage storage, ReadOnlyUserPrefs userPrefs) {
             }
             initialData = addressBookOptional.orElseGet(SampleDataUtil::getSampleAddressBook);
 
-            remindersOptional = storage.readReminders();
-            if (!remindersOptional.isPresent()) {
-                logger.info("Data file not found. Will be starting with a sample AddressBook");
-                initialReminders = new Reminders();
-            } else {
-                initialReminders = remindersOptional.orElse(new Reminders());
-            }
-
         } catch (DataConversionException e) {
             logger.warning("Data file not in the correct format. Will be starting with an empty AddressBook and Reminders");
             initialData = new AddressBook();
-            initialReminders = new Reminders();
         } catch (IOException e) {
             logger.warning("Problem while reading from the file. Will be starting with an empty AddressBook and Reminders");
             initialData = new AddressBook();
-            initialReminders = new Reminders();
         }
 
-        return new ModelManager(initialData, userPrefs, initialReminders);
+        return new ModelManager(initialData, userPrefs);
     }
 
     private void initLogging(Config config) {
diff --git a/src/main/java/seedu/address/commons/util/DateTimeUtil.java b/src/main/java/seedu/address/commons/util/DateTimeUtil.java
new file mode 100644
index 00000000000..126e725eaea
--- /dev/null
+++ b/src/main/java/seedu/address/commons/util/DateTimeUtil.java
@@ -0,0 +1,15 @@
+package seedu.address.commons.util;
+
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+
+public class DateTimeUtil {
+    public final static DateTimeFormatter DATE_TIME_STRING_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
+    public final static DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ISO_DATE_TIME;
+    public static LocalDateTime toDateTime(String s) {
+        return LocalDateTime.parse(s, DATE_TIME_FORMATTER);
+    }
+    public static String dateTimeToString(LocalDateTime t) {
+        return t.format(DATE_TIME_STRING_FORMATTER);
+    }
+}
diff --git a/src/main/java/seedu/address/logic/commands/AddReminder.java b/src/main/java/seedu/address/logic/commands/AddReminder.java
new file mode 100644
index 00000000000..a7e41009f74
--- /dev/null
+++ b/src/main/java/seedu/address/logic/commands/AddReminder.java
@@ -0,0 +1,46 @@
+package seedu.address.logic.commands;
+
+import seedu.address.logic.commands.exceptions.CommandException;
+import seedu.address.model.Model;
+import seedu.address.model.reminder.Reminder;
+
+import static java.util.Objects.requireNonNull;
+import static seedu.address.logic.parser.CliSyntax.PREFIX_DES;
+import static seedu.address.logic.parser.CliSyntax.PREFIX_TIME;
+
+
+public class AddReminder extends Command {
+
+    public static final String COMMAND_WORD = "add_reminder";
+
+    public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a reminder. "
+            + "Parameters: "
+            + PREFIX_DES + "Description "
+            + PREFIX_TIME + "YYYY-MM-DD HH:MM";
+
+    public static final String MESSAGE_SUCCESS = "New reminder added";
+
+    private final Reminder toAdd;
+
+    /**
+     * Creates an AddReminder to add the specified {@code Reminder}
+     */
+    public AddReminder(Reminder reminder) {
+        requireNonNull(reminder);
+        toAdd = reminder;
+    }
+
+    @Override
+    public CommandResult execute(Model model) throws CommandException {
+        requireNonNull(model);
+        model.addReminder(toAdd);
+        return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd));
+    }
+
+    @Override
+    public boolean equals(Object other) {
+        return other == this // short circuit if same object
+                || (other instanceof AddReminder // instanceof handles nulls
+                && toAdd.equals(((AddReminder) other).toAdd));
+    }
+}
diff --git a/src/main/java/seedu/address/logic/commands/exceptions/CommandException.java b/src/main/java/seedu/address/logic/commands/exceptions/CommandException.java
index a16bd14f2cd..f44c0c19186 100644
--- a/src/main/java/seedu/address/logic/commands/exceptions/CommandException.java
+++ b/src/main/java/seedu/address/logic/commands/exceptions/CommandException.java
@@ -1,5 +1,7 @@
 package seedu.address.logic.commands.exceptions;
 
+import seedu.address.logic.commands.Command;
+
 /**
  * Represents an error which occurs during execution of a {@link Command}.
  */
diff --git a/src/main/java/seedu/address/logic/parser/CliSyntax.java b/src/main/java/seedu/address/logic/parser/CliSyntax.java
index 75b1a9bf119..48148b77ae0 100644
--- a/src/main/java/seedu/address/logic/parser/CliSyntax.java
+++ b/src/main/java/seedu/address/logic/parser/CliSyntax.java
@@ -11,5 +11,7 @@ public class CliSyntax {
     public static final Prefix PREFIX_EMAIL = new Prefix("e/");
     public static final Prefix PREFIX_ADDRESS = new Prefix("a/");
     public static final Prefix PREFIX_TAG = new Prefix("t/");
+    public static final Prefix PREFIX_DES = new Prefix("d/");
+    public static final Prefix PREFIX_TIME = new Prefix("time/");
 
 }
diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java
index 1a943a0781a..f70db89af78 100644
--- a/src/main/java/seedu/address/model/AddressBook.java
+++ b/src/main/java/seedu/address/model/AddressBook.java
@@ -7,6 +7,8 @@
 import javafx.collections.ObservableList;
 import seedu.address.model.person.Person;
 import seedu.address.model.person.UniquePersonList;
+import seedu.address.model.reminder.Reminder;
+import seedu.address.model.reminder.ReminderList;
 
 /**
  * Wraps all data at the address-book level
@@ -15,6 +17,7 @@
 public class AddressBook implements ReadOnlyAddressBook {
 
     private final UniquePersonList persons;
+    private final ReminderList reminderList;
 
     /*
      * The 'unusual' code block below is a non-static initialization block, sometimes used to avoid duplication
@@ -25,6 +28,7 @@ public class AddressBook implements ReadOnlyAddressBook {
      */
     {
         persons = new UniquePersonList();
+        reminderList = new ReminderList();
     }
 
     public AddressBook() {}
@@ -93,6 +97,23 @@ public void removePerson(Person key) {
         persons.remove(key);
     }
 
+    //// reminder-level operations
+
+    /**
+     * Adds a reminder to the address book.
+     */
+    public void addReminder(Reminder r) {
+        reminderList.add(r);
+    }
+
+    /**
+     * Removes {@code Reminder} from this {@code AddressBook}.
+     * {@code Reminder} must exist in the address book.
+     */
+    public void removeReminder(int i) {
+        reminderList.remove(i);
+    }
+
     //// util methods
 
     @Override
@@ -106,6 +127,11 @@ public ObservableList getPersonList() {
         return persons.asUnmodifiableObservableList();
     }
 
+    @Override
+    public ObservableList getReminderList() {
+        return reminderList.asUnmodifiableObservableList();
+    }
+
     @Override
     public boolean equals(Object other) {
         return other == this // short circuit if same object
diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java
index a12a12c27dd..564a81f3314 100644
--- a/src/main/java/seedu/address/model/Model.java
+++ b/src/main/java/seedu/address/model/Model.java
@@ -86,14 +86,6 @@ public interface Model {
      */
     void updateFilteredPersonList(Predicate predicate);
 
-    /**
-     * Replaces reminders data with the data in {@code reminders}.
-     */
-    void setReminders(ReadOnlyReminders reminders);
-
-    /** Returns Reminders */
-    ReadOnlyReminders getReminders();
-
     /**
      * Deletes the given reminder.
      * The reminder must exist in reminders.
diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java
index abe68401e76..a10eed2cc6d 100644
--- a/src/main/java/seedu/address/model/ModelManager.java
+++ b/src/main/java/seedu/address/model/ModelManager.java
@@ -24,26 +24,23 @@ public class ModelManager implements Model {
     private final AddressBook addressBook;
     private final UserPrefs userPrefs;
     private final FilteredList filteredPersons;
-    private final Reminders reminders;
 
 
     /**
      * Initializes a ModelManager with the given addressBook and userPrefs.
      */
-    public ModelManager(ReadOnlyAddressBook addressBook, ReadOnlyUserPrefs userPrefs, ReadOnlyReminders reminders) {
+    public ModelManager(ReadOnlyAddressBook addressBook, ReadOnlyUserPrefs userPrefs) {
         requireAllNonNull(addressBook, userPrefs);
 
-        logger.fine("Initializing with address book: " + addressBook + ", user prefs " + userPrefs
-                + ", and reminders " + reminders);
+        logger.fine("Initializing with address book: " + addressBook + ", user prefs " + userPrefs);
 
         this.addressBook = new AddressBook(addressBook);
         this.userPrefs = new UserPrefs(userPrefs);
         filteredPersons = new FilteredList<>(this.addressBook.getPersonList());
-        this.reminders = new Reminders(reminders);
     }
 
     public ModelManager() {
-        this(new AddressBook(), new UserPrefs(), new Reminders());
+        this(new AddressBook(), new UserPrefs());
     }
 
     //=========== UserPrefs ==================================================================================
@@ -136,24 +133,14 @@ public void updateFilteredPersonList(Predicate predicate) {
 
     //=========== Reminders Accessors =============================================================
 
-    @Override
-    public void setReminders(ReadOnlyReminders reminders) {
-        this.reminders.resetData(reminders);
-    }
-
-    @Override
-    public ReadOnlyReminders getReminders() {
-        return reminders;
-    }
-
     @Override
     public void deleteReminder(int i) {
-        reminders.removeReminder(i);
+        addressBook.removeReminder(i);
     }
 
     @Override
     public void addReminder(Reminder reminder) {
-        reminders.addReminder(reminder);
+        addressBook.addReminder(reminder);
     }
 
     @Override
diff --git a/src/main/java/seedu/address/model/ReadOnlyAddressBook.java b/src/main/java/seedu/address/model/ReadOnlyAddressBook.java
index 6ddc2cd9a29..7e88411b843 100644
--- a/src/main/java/seedu/address/model/ReadOnlyAddressBook.java
+++ b/src/main/java/seedu/address/model/ReadOnlyAddressBook.java
@@ -2,6 +2,7 @@
 
 import javafx.collections.ObservableList;
 import seedu.address.model.person.Person;
+import seedu.address.model.reminder.Reminder;
 
 /**
  * Unmodifiable view of an address book
@@ -14,4 +15,6 @@ public interface ReadOnlyAddressBook {
      */
     ObservableList getPersonList();
 
+    ObservableList getReminderList();
+
 }
diff --git a/src/main/java/seedu/address/model/ReadOnlyReminders.java b/src/main/java/seedu/address/model/ReadOnlyReminders.java
deleted file mode 100644
index 2084bd5d555..00000000000
--- a/src/main/java/seedu/address/model/ReadOnlyReminders.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package seedu.address.model;
-
-import javafx.collections.ObservableList;
-import seedu.address.model.reminder.Reminder;
-
-/**
- * Unmodifiable view of the reminders
- */
-public interface ReadOnlyReminders {
-
-    /**
-     * Returns an unmodifiable view of the list of reminders.
-     */
-    ObservableList getReminders();
-}
diff --git a/src/main/java/seedu/address/model/ReadOnlyUserPrefs.java b/src/main/java/seedu/address/model/ReadOnlyUserPrefs.java
index 809c08b9f57..befd58a4c73 100644
--- a/src/main/java/seedu/address/model/ReadOnlyUserPrefs.java
+++ b/src/main/java/seedu/address/model/ReadOnlyUserPrefs.java
@@ -13,6 +13,4 @@ public interface ReadOnlyUserPrefs {
 
     Path getAddressBookFilePath();
 
-    Path getReminderFilePath();
-
 }
diff --git a/src/main/java/seedu/address/model/Reminders.java b/src/main/java/seedu/address/model/Reminders.java
deleted file mode 100644
index ba8fc4659af..00000000000
--- a/src/main/java/seedu/address/model/Reminders.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package seedu.address.model;
-
-import javafx.collections.ObservableList;
-import seedu.address.model.reminder.Reminder;
-import seedu.address.model.reminder.ReminderList;
-
-import java.util.List;
-
-import static java.util.Objects.requireNonNull;
-
-public class Reminders implements ReadOnlyReminders {
-
-    private final ReminderList reminderList;
-
-    /*
-     * The 'unusual' code block below is a non-static initialization block, sometimes used to avoid duplication
-     * between constructors. See https://docs.oracle.com/javase/tutorial/java/javaOO/initial.html
-     *
-     * Note that non-static init blocks are not recommended to use. There are other ways to avoid duplication
-     *   among constructors.
-     */
-    {
-        reminderList = new ReminderList();
-    }
-
-    public Reminders() {}
-
-    public Reminders(ReadOnlyReminders toBeCopied) {
-        this();
-        resetData(toBeCopied);
-    }
-
-    public void setReminders(List reminders) {
-        this.reminderList.setReminders(reminders);
-    }
-
-    public void resetData(ReadOnlyReminders newData) {
-        requireNonNull(newData);
-        setReminders(newData.getReminders());
-    }
-
-    public void addReminder(Reminder r) {
-        reminderList.add(r);
-    }
-
-    public void removeReminder(int i) {
-        reminderList.remove(i);
-    }
-
-    public String toString() {
-        return reminderList.asUnmodifiableObservableList().size() + " reminders";
-    }
-
-    @Override
-    public ObservableList getReminders() {
-        return reminderList.asUnmodifiableObservableList();
-    }
-
-    @Override
-    public boolean equals(Object other) {
-        return other == this // short circuit if same object
-                || (other instanceof Reminders // instanceof handles nulls
-                && reminderList.equals(((Reminders) other).reminderList));
-    }
-}
diff --git a/src/main/java/seedu/address/model/UserPrefs.java b/src/main/java/seedu/address/model/UserPrefs.java
index 1676f8fa799..25a5fd6eab9 100644
--- a/src/main/java/seedu/address/model/UserPrefs.java
+++ b/src/main/java/seedu/address/model/UserPrefs.java
@@ -15,7 +15,6 @@ public class UserPrefs implements ReadOnlyUserPrefs {
 
     private GuiSettings guiSettings = new GuiSettings();
     private Path addressBookFilePath = Paths.get("data" , "addressbook.json");
-    private Path reminderFilePath = Paths.get("reminders.json");
 
     /**
      * Creates a {@code UserPrefs} with default values.
@@ -37,7 +36,6 @@ public void resetData(ReadOnlyUserPrefs newUserPrefs) {
         requireNonNull(newUserPrefs);
         setGuiSettings(newUserPrefs.getGuiSettings());
         setAddressBookFilePath(newUserPrefs.getAddressBookFilePath());
-        setReminderFilePathFilePath(newUserPrefs.getReminderFilePath());
     }
 
     public GuiSettings getGuiSettings() {
@@ -57,14 +55,6 @@ public void setAddressBookFilePath(Path addressBookFilePath) {
         requireNonNull(addressBookFilePath);
         this.addressBookFilePath = addressBookFilePath;
     }
-    public Path getReminderFilePath() {
-        return reminderFilePath;
-    }
-
-    public void setReminderFilePathFilePath(Path reminderFilePath) {
-        requireNonNull(reminderFilePath);
-        this.reminderFilePath = reminderFilePath;
-    }
 
     @Override
     public boolean equals(Object other) {
diff --git a/src/main/java/seedu/address/model/reminder/Reminder.java b/src/main/java/seedu/address/model/reminder/Reminder.java
index e6cbe38429e..30102dd5a60 100644
--- a/src/main/java/seedu/address/model/reminder/Reminder.java
+++ b/src/main/java/seedu/address/model/reminder/Reminder.java
@@ -3,6 +3,7 @@
 import java.time.LocalDateTime;
 
 import static seedu.address.commons.util.CollectionUtil.requireAllNonNull;
+import static seedu.address.commons.util.DateTimeUtil.dateTimeToString;
 
 /**
  * Represents a Reminder in the Reminders.
@@ -27,6 +28,10 @@ public LocalDateTime getReminderDateTime() {
         return this.reminderDateTime;
     }
 
+    public String reminderDateTimeToString() {
+        return dateTimeToString(reminderDateTime);
+    }
+
     public String toString() {
         final StringBuilder builder = new StringBuilder();
         builder.append(getDescription());
diff --git a/src/main/java/seedu/address/storage/JsonAdaptedReminder.java b/src/main/java/seedu/address/storage/JsonAdaptedReminder.java
new file mode 100644
index 00000000000..d74b7db31fe
--- /dev/null
+++ b/src/main/java/seedu/address/storage/JsonAdaptedReminder.java
@@ -0,0 +1,41 @@
+package seedu.address.storage;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import seedu.address.model.reminder.Reminder;
+
+import static seedu.address.commons.util.DateTimeUtil.toDateTime;
+
+/**
+ * Jackson-friendly version of {@link Reminder}.
+ */
+public class JsonAdaptedReminder {
+    public static final String MISSING_FIELD_MESSAGE_FORMAT = "Reminder's %s field is missing!";
+
+    private final String description;
+    private final String time;
+
+    /**
+     * Constructs a {@code JsonAdaptedReminder} with the given reminder details.
+     */
+    @JsonCreator
+    public JsonAdaptedReminder(@JsonProperty("description") String description, @JsonProperty("time") String time) {
+        this.description = description;
+        this.time = time;
+    }
+
+    /**
+     * Converts a given {@code Reminder} into this class for Jackson use.
+     */
+    public JsonAdaptedReminder(Reminder source) {
+        description = source.getDescription();
+        time = source.reminderDateTimeToString();
+    }
+
+    /**
+     * Converts this Jackson-friendly adapted reminder object into the model's {@code Reminder} object.
+     */
+    public Reminder toModelType() {
+        return new Reminder(description, toDateTime(time));
+    }
+}
diff --git a/src/main/java/seedu/address/storage/JsonRemindersStorage.java b/src/main/java/seedu/address/storage/JsonRemindersStorage.java
deleted file mode 100644
index 695328a1d6d..00000000000
--- a/src/main/java/seedu/address/storage/JsonRemindersStorage.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package seedu.address.storage;
-
-import java.io.IOException;
-import java.nio.file.Path;
-import java.util.Optional;
-import java.util.logging.Logger;
-import seedu.address.commons.core.LogsCenter;
-import seedu.address.commons.exceptions.DataConversionException;
-import seedu.address.commons.util.FileUtil;
-import seedu.address.commons.util.JsonUtil;
-import seedu.address.model.ReadOnlyReminders;
-import seedu.address.model.Reminders;
-
-import static java.util.Objects.requireNonNull;
-
-/**
- * A class to access Reminders data stored as a json file on the hard disk.
- */
-public class JsonRemindersStorage implements RemindersStorage{
-
-    private static final Logger logger = LogsCenter.getLogger(JsonRemindersStorage.class);
-
-    private Path filePath;
-
-    public JsonRemindersStorage(Path filePath) {
-        this.filePath = filePath;
-    }
-
-    public Path getRemindersFilePath() {
-        return filePath;
-    }
-
-    @Override
-    public Optional readReminders() throws DataConversionException {
-        return readReminders(filePath);
-    }
-
-    /**
-     * Similar to {@link #readReminders()}.
-     *
-     * @param filePath location of the data. Cannot be null.
-     * @throws DataConversionException if the file is not in the correct format.
-     */
-    public Optional readReminders(Path filePath) throws DataConversionException {
-        requireNonNull(filePath);
-        return JsonUtil.readJsonFile(filePath, ReadOnlyReminders.class);
-    }
-
-    @Override
-    public void saveReminders(ReadOnlyReminders reminders) throws IOException {
-        JsonUtil.saveJsonFile(reminders, filePath);
-    }
-
-    /**
-     * Similar to {@link #saveReminders(ReadOnlyReminders)}.
-     *
-     * @param filePath location of the data. Cannot be null.
-     */
-    public void saveReminders(ReadOnlyReminders reminders, Path filePath) throws IOException {
-        requireNonNull(reminders);
-        requireNonNull(filePath);
-
-        FileUtil.createIfMissing(filePath);
-        JsonUtil.saveJsonFile(reminders, filePath);
-    }
-}
diff --git a/src/main/java/seedu/address/storage/JsonSerializableAddressBook.java b/src/main/java/seedu/address/storage/JsonSerializableAddressBook.java
index 5efd834091d..f4cd80d5179 100644
--- a/src/main/java/seedu/address/storage/JsonSerializableAddressBook.java
+++ b/src/main/java/seedu/address/storage/JsonSerializableAddressBook.java
@@ -12,6 +12,7 @@
 import seedu.address.model.AddressBook;
 import seedu.address.model.ReadOnlyAddressBook;
 import seedu.address.model.person.Person;
+import seedu.address.model.reminder.Reminder;
 
 /**
  * An Immutable AddressBook that is serializable to JSON format.
@@ -23,12 +24,15 @@ class JsonSerializableAddressBook {
 
     private final List persons = new ArrayList<>();
 
+    private final List reminderList = new ArrayList<>();
+
     /**
-     * Constructs a {@code JsonSerializableAddressBook} with the given persons.
+     * Constructs a {@code JsonSerializableAddressBook} with the given persons and reminderList.
      */
     @JsonCreator
-    public JsonSerializableAddressBook(@JsonProperty("persons") List persons) {
+    public JsonSerializableAddressBook(@JsonProperty("persons") List persons, @JsonProperty("reminderList") List reminderList) {
         this.persons.addAll(persons);
+        this.reminderList.addAll(reminderList);
     }
 
     /**
@@ -38,6 +42,7 @@ public JsonSerializableAddressBook(@JsonProperty("persons") List readReminders() throws DataConversionException, IOException;
-
-    /**
-     * @see #getRemindersFilePath()
-     */
-    Optional readReminders(Path filePath) throws DataConversionException, IOException;
-
-    /**
-     * Saves the given {@link ReadOnlyReminders} to the storage.
-     * @param reminders cannot be null.
-     * @throws IOException if there was any problem writing to the file.
-     */
-    void saveReminders(ReadOnlyReminders reminders) throws IOException;
-
-    /**
-     * @see #saveReminders(ReadOnlyReminders)
-     */
-    void saveReminders(ReadOnlyReminders reminders, Path filePath) throws IOException;
-
-
-}
diff --git a/src/main/java/seedu/address/storage/Storage.java b/src/main/java/seedu/address/storage/Storage.java
index 48000887001..beda8bd9f11 100644
--- a/src/main/java/seedu/address/storage/Storage.java
+++ b/src/main/java/seedu/address/storage/Storage.java
@@ -6,14 +6,13 @@
 
 import seedu.address.commons.exceptions.DataConversionException;
 import seedu.address.model.ReadOnlyAddressBook;
-import seedu.address.model.ReadOnlyReminders;
 import seedu.address.model.ReadOnlyUserPrefs;
 import seedu.address.model.UserPrefs;
 
 /**
  * API of the Storage component
  */
-public interface Storage extends AddressBookStorage, UserPrefsStorage, RemindersStorage {
+public interface Storage extends AddressBookStorage, UserPrefsStorage {
 
     @Override
     Optional readUserPrefs() throws DataConversionException, IOException;
@@ -30,10 +29,4 @@ public interface Storage extends AddressBookStorage, UserPrefsStorage, Reminders
     @Override
     void saveAddressBook(ReadOnlyAddressBook addressBook) throws IOException;
 
-    @Override
-    Optional readReminders() throws DataConversionException, IOException;
-
-    @Override
-    void saveReminders(ReadOnlyReminders reminders) throws IOException;
-
 }
diff --git a/src/main/java/seedu/address/storage/StorageManager.java b/src/main/java/seedu/address/storage/StorageManager.java
index c048fa1397c..8ca5db75d8f 100644
--- a/src/main/java/seedu/address/storage/StorageManager.java
+++ b/src/main/java/seedu/address/storage/StorageManager.java
@@ -17,15 +17,13 @@ public class StorageManager implements Storage {
     private static final Logger logger = LogsCenter.getLogger(StorageManager.class);
     private AddressBookStorage addressBookStorage;
     private UserPrefsStorage userPrefsStorage;
-    private RemindersStorage remindersStorage;
 
     /**
      * Creates a {@code StorageManager} with the given {@code AddressBookStorage} and {@code UserPrefStorage}.
      */
-    public StorageManager(AddressBookStorage addressBookStorage, UserPrefsStorage userPrefsStorage, RemindersStorage remindersStorage) {
+    public StorageManager(AddressBookStorage addressBookStorage, UserPrefsStorage userPrefsStorage) {
         this.addressBookStorage = addressBookStorage;
         this.userPrefsStorage = userPrefsStorage;
-        this.remindersStorage = remindersStorage;
     }
 
     // ================ UserPrefs methods ==============================
@@ -74,34 +72,4 @@ public void saveAddressBook(ReadOnlyAddressBook addressBook, Path filePath) thro
         logger.fine("Attempting to write to data file: " + filePath);
         addressBookStorage.saveAddressBook(addressBook, filePath);
     }
-
-    // ================ Reminders methods ==============================
-
-    @Override
-    public Path getRemindersFilePath() {
-        return remindersStorage.getRemindersFilePath();
-    }
-
-    @Override
-    public Optional readReminders() throws DataConversionException, IOException {
-        return readReminders(remindersStorage.getRemindersFilePath());
-    }
-
-    @Override
-    public Optional readReminders(Path filePath) throws DataConversionException, IOException {
-        logger.fine("Attempting to read data from file: " + filePath);
-        return remindersStorage.readReminders(filePath);
-    }
-
-    @Override
-    public void saveReminders(ReadOnlyReminders reminders) throws IOException {
-        saveReminders(reminders, remindersStorage.getRemindersFilePath());
-    }
-
-    @Override
-    public void saveReminders(ReadOnlyReminders reminders, Path filePath) throws IOException {
-        logger.fine("Attempting to write to data file: " + filePath);
-        remindersStorage.saveReminders(reminders, filePath);
-    }
-
 }

From 68bf4a6e770d4226d7aa31a4ec0cd99b8c0db6b3 Mon Sep 17 00:00:00 2001
From: zuohui48 
Date: Sat, 11 Mar 2023 19:11:25 +0800
Subject: [PATCH 074/470] Add Statistic Button to main window

Statistic button to open a new window to display the current statistics
---
 src/main/resources/view/MainWindow.fxml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml
index a431648f6c0..1538e8908da 100644
--- a/src/main/resources/view/MainWindow.fxml
+++ b/src/main/resources/view/MainWindow.fxml
@@ -31,6 +31,9 @@
           
             
           
+          
+            
+          
         
 
         

From 1477561bd8efd07978805c2aec1c02d0952c0a79 Mon Sep 17 00:00:00 2001
From: zuohui48 
Date: Sat, 11 Mar 2023 20:31:05 +0800
Subject: [PATCH 075/470] Add stats menu to main window

Stats menu to open a new window to display statistics through
statistics button in main window
---
 .../address/logic/commands/StatsCommand.java  |   2 +
 .../java/seedu/address/ui/MainWindow.java     |  19 +++
 .../seedu/address/ui/StatisticsWindow.java    | 153 ++++++++++++++++++
 src/main/resources/images/stats_icon.png      | Bin 0 -> 76156 bytes
 src/main/resources/view/MainWindow.fxml       |   3 +
 src/main/resources/view/StatisticsWindow.css  |   8 +
 src/main/resources/view/StatisticsWindow.fxml |  39 +++++
 7 files changed, 224 insertions(+)
 create mode 100644 src/main/java/seedu/address/logic/commands/StatsCommand.java
 create mode 100644 src/main/java/seedu/address/ui/StatisticsWindow.java
 create mode 100644 src/main/resources/images/stats_icon.png
 create mode 100644 src/main/resources/view/StatisticsWindow.css
 create mode 100644 src/main/resources/view/StatisticsWindow.fxml

diff --git a/src/main/java/seedu/address/logic/commands/StatsCommand.java b/src/main/java/seedu/address/logic/commands/StatsCommand.java
new file mode 100644
index 00000000000..501547d2ab0
--- /dev/null
+++ b/src/main/java/seedu/address/logic/commands/StatsCommand.java
@@ -0,0 +1,2 @@
+package seedu.address.logic.commands;public class StatsCommand {
+}
diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java
index 9106c3aa6e5..fdce43300ae 100644
--- a/src/main/java/seedu/address/ui/MainWindow.java
+++ b/src/main/java/seedu/address/ui/MainWindow.java
@@ -34,6 +34,7 @@ public class MainWindow extends UiPart {
     private PersonListPanel personListPanel;
     private ResultDisplay resultDisplay;
     private HelpWindow helpWindow;
+    private StatisticsWindow statsWindow;
 
     @FXML
     private StackPane commandBoxPlaceholder;
@@ -41,6 +42,9 @@ public class MainWindow extends UiPart {
     @FXML
     private MenuItem helpMenuItem;
 
+    @FXML
+    private MenuItem statsItem;
+
     @FXML
     private StackPane personListPanelPlaceholder;
 
@@ -66,6 +70,7 @@ public MainWindow(Stage primaryStage, Logic logic) {
         setAccelerators();
 
         helpWindow = new HelpWindow();
+        statsWindow = new StatisticsWindow(new Stage(), logic);
     }
 
     public Stage getPrimaryStage() {
@@ -160,9 +165,23 @@ private void handleExit() {
                 (int) primaryStage.getX(), (int) primaryStage.getY());
         logic.setGuiSettings(guiSettings);
         helpWindow.hide();
+        statsWindow.hide();
         primaryStage.hide();
     }
 
+    /**
+     * Opens Statistics window.
+     */
+    @FXML
+    private void handleStats() {
+        if (!statsWindow.isShowing()) {
+            statsWindow.show();
+            statsWindow.fillInnerParts();
+        } else {
+            statsWindow.focus();
+        }
+    }
+
     public PersonListPanel getPersonListPanel() {
         return personListPanel;
     }
diff --git a/src/main/java/seedu/address/ui/StatisticsWindow.java b/src/main/java/seedu/address/ui/StatisticsWindow.java
new file mode 100644
index 00000000000..1c53378b1f4
--- /dev/null
+++ b/src/main/java/seedu/address/ui/StatisticsWindow.java
@@ -0,0 +1,153 @@
+package seedu.address.ui;
+
+import java.util.logging.Logger;
+
+import javafx.fxml.FXML;
+import javafx.scene.control.Label;
+import javafx.scene.layout.StackPane;
+import javafx.stage.Stage;
+import seedu.address.commons.core.GuiSettings;
+import seedu.address.commons.core.LogsCenter;
+import seedu.address.logic.Logic;
+import seedu.address.logic.commands.CommandResult;
+import seedu.address.logic.commands.exceptions.CommandException;
+import seedu.address.logic.parser.exceptions.ParseException;
+
+/**
+ * Controller for a statistics page
+ */
+public class StatisticsWindow extends UiPart {
+    public static final String STATISTICS= "Here are your statistics: ";
+    private final Logger logger = LogsCenter.getLogger(getClass());
+    private Stage primaryStage;
+    private Logic logic;
+    private static final String FXML = "StatisticsWindow.fxml";
+
+    private ResultDisplay resultDisplay;
+    @FXML
+    private StackPane commandBoxPlaceholder;
+    @FXML
+    private StackPane jobListPanelPlaceholder;
+    @FXML
+    private StackPane resultDisplayPlaceholder;
+    @FXML
+    private StackPane statusbarPlaceholder;
+
+    @FXML
+    private Label statsMessage;
+
+    /**
+     * Creates a {@code StatisticsWindow} with the given {@code Stage} and {@code Logic}.
+     */
+    public StatisticsWindow(Stage primaryStage, Logic logic) {
+        super(FXML, primaryStage);
+
+        // Set dependencies
+        this.primaryStage = primaryStage;
+        this.logic = logic;
+
+        // Configure the UI
+        setWindowDefaultSize(logic.getGuiSettings());
+        statsMessage.setText(STATISTICS);
+    }
+
+    /**
+     * Shows the help window.
+     * @throws IllegalStateException
+     *     
    + *
  • + * if this method is called on a thread other than the JavaFX Application Thread. + *
  • + *
  • + * if this method is called during animation or layout processing. + *
  • + *
  • + * if this method is called on the primary stage. + *
  • + *
  • + * if {@code dialogStage} is already showing. + *
  • + *
+ */ + public void show() { + logger.fine("Showing stats page about the driver."); + getRoot().show(); + getRoot().centerOnScreen(); + } + + /** + * Returns true if the stats window is currently being shown. + */ + public boolean isShowing() { + return getRoot().isShowing(); + } + + /** + * Hides the stats window. + */ + public void hide() { + getRoot().hide(); + } + + /** + * Focuses on the stats window. + */ + public void focus() { + getRoot().requestFocus(); + } + + /** + * Fills up all the placeholders of this window. + */ + void fillInnerParts() { + //jobListPanel = new jobListPanel(logic.getFilteredjobList()); + //jobListPanelPlaceholder.getChildren().add(jobListPanel.getRoot()); + + //resultDisplay = new ResultDisplay(); + //resultDisplayPlaceholder.getChildren().add(resultDisplay.getRoot()); + + //StatusBarFooter statusBarFooter = new StatusBarFooter(logic.getAddressBookFilePath()); + //statusbarPlaceholder.getChildren().add(statusBarFooter.getRoot()); + + //CommandBox commandBox = new CommandBox(this::executeCommand); + //commandBoxPlaceholder.getChildren().add(commandBox.getRoot()); + } + + /** + * Sets the default size based on {@code guiSettings}. + */ + private void setWindowDefaultSize(GuiSettings guiSettings) { + primaryStage.setHeight(guiSettings.getWindowHeight()); + primaryStage.setWidth(guiSettings.getWindowWidth()); + if (guiSettings.getWindowCoordinates() != null) { + primaryStage.setX(guiSettings.getWindowCoordinates().getX()); + primaryStage.setY(guiSettings.getWindowCoordinates().getY()); + } + } + + @FXML + private void handleExit() { + GuiSettings guiSettings = new GuiSettings(primaryStage.getWidth(), primaryStage.getHeight(), + (int) primaryStage.getX(), (int) primaryStage.getY()); + logic.setGuiSettings(guiSettings); + primaryStage.hide(); + } + /** + * Executes the command and returns the result. + * + * @see seedu.address.logic.Logic#execute(String) + */ + private CommandResult executeCommand(String commandText) throws CommandException, ParseException { + try { + CommandResult commandResult = logic.execute(commandText); + logger.info("Result: " + commandResult.getFeedbackToUser()); + resultDisplay.setFeedbackToUser(commandResult.getFeedbackToUser()); + + return commandResult; + } catch (CommandException | ParseException e) { + logger.info("Invalid command: " + commandText); + resultDisplay.setFeedbackToUser(e.getMessage()); + throw e; + } + } +} diff --git a/src/main/resources/images/stats_icon.png b/src/main/resources/images/stats_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b33b655c9c9bd54f192c64e28579d342a50ab2f0 GIT binary patch literal 76156 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 + + + diff --git a/src/main/resources/view/StatisticsWindow.css b/src/main/resources/view/StatisticsWindow.css new file mode 100644 index 00000000000..0a79e2b3629 --- /dev/null +++ b/src/main/resources/view/StatisticsWindow.css @@ -0,0 +1,8 @@ +#statsMessage { + -fx-text-fill: white; +} + + +#statsMessageContainer { + -fx-background-color: derive(#1d1d1d, 20%); +} \ No newline at end of file diff --git a/src/main/resources/view/StatisticsWindow.fxml b/src/main/resources/view/StatisticsWindow.fxml new file mode 100644 index 00000000000..59066903f3d --- /dev/null +++ b/src/main/resources/view/StatisticsWindow.fxml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From ba2389f3b7262980fdf88a99911694e4a12f1342 Mon Sep 17 00:00:00 2001 From: ChinJunAn Date: Sat, 11 Mar 2023 22:33:35 +0800 Subject: [PATCH 076/470] Add "add_reminder" command to add reminders and notify when present local date time is after a reminder's date time. Notification will show after app is opened. App requires notification function to remind user of specific things Let's: * add an "add_reminder" command * save reminders to hardrive in exiting Json configuration * retrieve reminders upon app start up --- .../address/commons/util/DateTimeUtil.java | 5 +- src/main/java/seedu/address/logic/Logic.java | 5 ++ .../seedu/address/logic/LogicManager.java | 7 ++ .../address/logic/commands/AddReminder.java | 6 +- .../logic/parser/AddReminderParser.java | 58 ++++++++++++++++ .../logic/parser/AddressBookParser.java | 13 ++-- .../seedu/address/logic/parser/CliSyntax.java | 2 +- .../java/seedu/address/model/AddressBook.java | 6 +- src/main/java/seedu/address/model/Model.java | 3 + .../seedu/address/model/ModelManager.java | 14 +++- .../address/model/reminder/ReminderList.java | 2 +- .../seedu/address/ui/NotificationManager.java | 68 +++++++++++++++++++ src/main/java/seedu/address/ui/UiManager.java | 13 +--- 13 files changed, 172 insertions(+), 30 deletions(-) create mode 100644 src/main/java/seedu/address/logic/parser/AddReminderParser.java create mode 100644 src/main/java/seedu/address/ui/NotificationManager.java diff --git a/src/main/java/seedu/address/commons/util/DateTimeUtil.java b/src/main/java/seedu/address/commons/util/DateTimeUtil.java index 126e725eaea..fc27457f0f7 100644 --- a/src/main/java/seedu/address/commons/util/DateTimeUtil.java +++ b/src/main/java/seedu/address/commons/util/DateTimeUtil.java @@ -4,12 +4,11 @@ import java.time.format.DateTimeFormatter; public class DateTimeUtil { - public final static DateTimeFormatter DATE_TIME_STRING_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); - public final static DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ISO_DATE_TIME; + public final static DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); public static LocalDateTime toDateTime(String s) { return LocalDateTime.parse(s, DATE_TIME_FORMATTER); } public static String dateTimeToString(LocalDateTime t) { - return t.format(DATE_TIME_STRING_FORMATTER); + return t.format(DATE_TIME_FORMATTER); } } diff --git a/src/main/java/seedu/address/logic/Logic.java b/src/main/java/seedu/address/logic/Logic.java index 92cd8fa605a..090c7727845 100644 --- a/src/main/java/seedu/address/logic/Logic.java +++ b/src/main/java/seedu/address/logic/Logic.java @@ -1,6 +1,7 @@ package seedu.address.logic; import java.nio.file.Path; +import java.util.List; import javafx.collections.ObservableList; import seedu.address.commons.core.GuiSettings; @@ -9,6 +10,7 @@ import seedu.address.logic.parser.exceptions.ParseException; import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.person.Person; +import seedu.address.model.reminder.Reminder; /** * API of the Logic component @@ -33,6 +35,9 @@ public interface Logic { /** Returns an unmodifiable view of the filtered list of persons */ ObservableList getFilteredPersonList(); + /** Returns an unmodifiable view of the filtered list of persons */ + ObservableList getReminderList(); + /** * Returns the user prefs' address book file path. */ diff --git a/src/main/java/seedu/address/logic/LogicManager.java b/src/main/java/seedu/address/logic/LogicManager.java index 9d9c6d15bdc..5bf3dd9ab2d 100644 --- a/src/main/java/seedu/address/logic/LogicManager.java +++ b/src/main/java/seedu/address/logic/LogicManager.java @@ -2,6 +2,7 @@ import java.io.IOException; import java.nio.file.Path; +import java.util.List; import java.util.logging.Logger; import javafx.collections.ObservableList; @@ -15,6 +16,7 @@ import seedu.address.model.Model; import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.person.Person; +import seedu.address.model.reminder.Reminder; import seedu.address.storage.Storage; /** @@ -64,6 +66,11 @@ public ObservableList getFilteredPersonList() { return model.getFilteredPersonList(); } + @Override + public ObservableList getReminderList() { + return model.getReminderList(); + } + @Override public Path getAddressBookFilePath() { return model.getAddressBookFilePath(); diff --git a/src/main/java/seedu/address/logic/commands/AddReminder.java b/src/main/java/seedu/address/logic/commands/AddReminder.java index a7e41009f74..e2b464a9dcd 100644 --- a/src/main/java/seedu/address/logic/commands/AddReminder.java +++ b/src/main/java/seedu/address/logic/commands/AddReminder.java @@ -5,7 +5,7 @@ import seedu.address.model.reminder.Reminder; import static java.util.Objects.requireNonNull; -import static seedu.address.logic.parser.CliSyntax.PREFIX_DES; +import static seedu.address.logic.parser.CliSyntax.PREFIX_DESCRIPTION; import static seedu.address.logic.parser.CliSyntax.PREFIX_TIME; @@ -13,9 +13,9 @@ public class AddReminder extends Command { public static final String COMMAND_WORD = "add_reminder"; - public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a reminder. " + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a reminder.\n" + "Parameters: " - + PREFIX_DES + "Description " + + PREFIX_DESCRIPTION + "Description " + PREFIX_TIME + "YYYY-MM-DD HH:MM"; public static final String MESSAGE_SUCCESS = "New reminder added"; diff --git a/src/main/java/seedu/address/logic/parser/AddReminderParser.java b/src/main/java/seedu/address/logic/parser/AddReminderParser.java new file mode 100644 index 00000000000..1bc7c8dc35b --- /dev/null +++ b/src/main/java/seedu/address/logic/parser/AddReminderParser.java @@ -0,0 +1,58 @@ +package seedu.address.logic.parser; + +import seedu.address.commons.util.DateTimeUtil; +import seedu.address.logic.commands.AddCommand; +import seedu.address.logic.commands.AddReminder; +import seedu.address.logic.parser.exceptions.ParseException; +import seedu.address.model.person.*; +import seedu.address.model.reminder.Reminder; +import seedu.address.model.tag.Tag; + +import java.time.LocalDateTime; +import java.time.format.DateTimeParseException; +import java.util.Set; +import java.util.stream.Stream; + +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static seedu.address.logic.parser.CliSyntax.*; +import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG; + +public class AddReminderParser implements Parser{ + + /** + * Parses the given {@code String} of arguments in the context of the AddReminder + * and returns an AddReminder object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + @Override + public AddReminder parse(String args) throws ParseException { + ArgumentMultimap argMultimap = + ArgumentTokenizer.tokenize(args, PREFIX_DESCRIPTION, PREFIX_TIME); + + if (!arePrefixesPresent(argMultimap, PREFIX_DESCRIPTION, PREFIX_TIME) + || !argMultimap.getPreamble().isEmpty()) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, AddReminder.MESSAGE_USAGE)); + } + + String description = argMultimap.getValue(PREFIX_DESCRIPTION).orElse(""); + String dateTimeString = argMultimap.getValue(PREFIX_TIME).orElse("none"); + LocalDateTime dateTime; + try { + dateTime = DateTimeUtil.toDateTime(dateTimeString); + } catch (DateTimeParseException e) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, AddReminder.MESSAGE_USAGE)); + } + + Reminder reminder = new Reminder(description, dateTime); + + return new AddReminder(reminder); + } + + /** + * Returns true if none of the prefixes contains empty {@code Optional} values in the given + * {@code ArgumentMultimap}. + */ + private static boolean arePrefixesPresent(ArgumentMultimap argumentMultimap, Prefix... prefixes) { + return Stream.of(prefixes).allMatch(prefix -> argumentMultimap.getValue(prefix).isPresent()); + } +} diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index 1e466792b46..7156b950955 100644 --- a/src/main/java/seedu/address/logic/parser/AddressBookParser.java +++ b/src/main/java/seedu/address/logic/parser/AddressBookParser.java @@ -6,15 +6,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; -import seedu.address.logic.commands.AddCommand; -import seedu.address.logic.commands.ClearCommand; -import seedu.address.logic.commands.Command; -import seedu.address.logic.commands.DeleteCommand; -import seedu.address.logic.commands.EditCommand; -import seedu.address.logic.commands.ExitCommand; -import seedu.address.logic.commands.FindCommand; -import seedu.address.logic.commands.HelpCommand; -import seedu.address.logic.commands.ListCommand; +import seedu.address.logic.commands.*; import seedu.address.logic.parser.exceptions.ParseException; /** @@ -68,6 +60,9 @@ public Command parseCommand(String userInput) throws ParseException { case HelpCommand.COMMAND_WORD: return new HelpCommand(); + case AddReminder.COMMAND_WORD: + return new AddReminderParser().parse(arguments); + default: throw new ParseException(MESSAGE_UNKNOWN_COMMAND); } diff --git a/src/main/java/seedu/address/logic/parser/CliSyntax.java b/src/main/java/seedu/address/logic/parser/CliSyntax.java index 48148b77ae0..8fc653bdf6e 100644 --- a/src/main/java/seedu/address/logic/parser/CliSyntax.java +++ b/src/main/java/seedu/address/logic/parser/CliSyntax.java @@ -11,7 +11,7 @@ public class CliSyntax { public static final Prefix PREFIX_EMAIL = new Prefix("e/"); public static final Prefix PREFIX_ADDRESS = new Prefix("a/"); public static final Prefix PREFIX_TAG = new Prefix("t/"); - public static final Prefix PREFIX_DES = new Prefix("d/"); + public static final Prefix PREFIX_DESCRIPTION = new Prefix("d/"); public static final Prefix PREFIX_TIME = new Prefix("time/"); } diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index f70db89af78..a28ead71046 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -51,6 +51,10 @@ public void setPersons(List persons) { this.persons.setPersons(persons); } + public void setReminderList(List reminderList) { + this.reminderList.setReminderList(reminderList); + } + /** * Resets the existing data of this {@code AddressBook} with {@code newData}. */ @@ -58,6 +62,7 @@ public void resetData(ReadOnlyAddressBook newData) { requireNonNull(newData); setPersons(newData.getPersonList()); + setReminderList(newData.getReminderList()); } //// person-level operations @@ -85,7 +90,6 @@ public void addPerson(Person p) { */ public void setPerson(Person target, Person editedPerson) { requireNonNull(editedPerson); - persons.setPerson(target, editedPerson); } diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index 564a81f3314..47236b7a7e7 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -97,5 +97,8 @@ public interface Model { */ void addReminder(Reminder reminder); + /** Returns an unmodifiable view of the filtered person list */ + ObservableList getReminderList(); + } diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index a10eed2cc6d..fc999f930d5 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -13,6 +13,7 @@ import seedu.address.commons.core.LogsCenter; import seedu.address.model.person.Person; import seedu.address.model.reminder.Reminder; +import seedu.address.model.reminder.ReminderList; /** @@ -24,6 +25,7 @@ public class ModelManager implements Model { private final AddressBook addressBook; private final UserPrefs userPrefs; private final FilteredList filteredPersons; + private final ObservableList reminderList; /** @@ -37,6 +39,7 @@ public ModelManager(ReadOnlyAddressBook addressBook, ReadOnlyUserPrefs userPrefs this.addressBook = new AddressBook(addressBook); this.userPrefs = new UserPrefs(userPrefs); filteredPersons = new FilteredList<>(this.addressBook.getPersonList()); + reminderList = this.addressBook.getReminderList(); } public ModelManager() { @@ -131,7 +134,7 @@ public void updateFilteredPersonList(Predicate predicate) { filteredPersons.setPredicate(predicate); } - //=========== Reminders Accessors ============================================================= + //=========== ReminderList Accessors ============================================================= @Override public void deleteReminder(int i) { @@ -143,6 +146,15 @@ public void addReminder(Reminder reminder) { addressBook.addReminder(reminder); } + /** + * Returns an unmodifiable view of the list of {@code Person} backed by the internal list of + * {@code versionedAddressBook} + */ + @Override + public ObservableList getReminderList() { + return reminderList; + } + @Override public boolean equals(Object obj) { // short circuit if same object diff --git a/src/main/java/seedu/address/model/reminder/ReminderList.java b/src/main/java/seedu/address/model/reminder/ReminderList.java index bb81d0a61d1..19abb36ad4e 100644 --- a/src/main/java/seedu/address/model/reminder/ReminderList.java +++ b/src/main/java/seedu/address/model/reminder/ReminderList.java @@ -45,7 +45,7 @@ public void setReminderList(ReminderList replacement) { /** * Replaces the contents of this list with {@code reminderList}. */ - public void setReminders(List reminderList) { + public void setReminderList(List reminderList) { requireAllNonNull(reminderList); internalList.setAll(reminderList); } diff --git a/src/main/java/seedu/address/ui/NotificationManager.java b/src/main/java/seedu/address/ui/NotificationManager.java new file mode 100644 index 00000000000..f8083deb6e6 --- /dev/null +++ b/src/main/java/seedu/address/ui/NotificationManager.java @@ -0,0 +1,68 @@ +package seedu.address.ui; + +import javafx.geometry.Pos; +import javafx.util.Duration; +import org.controlsfx.control.Notifications; +import seedu.address.logic.Logic; +import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.reminder.Reminder; + +import java.time.LocalDateTime; +import java.util.List; + +public class NotificationManager { + + private Logic logic; + private String title = ""; + private String text = ""; + private Duration duration; + private Pos position = Pos.TOP_RIGHT; + + private Notifications notification; + + public NotificationManager(String title, String text) { + this.title = title; + this.text = text; + } + + public NotificationManager(Logic logic) { + this.logic = logic; + } + + public void showDefault() { + //show notifications + Notifications notificationBuilder = Notifications.create() + .title(title) + .text(text) + .graphic(null) + .hideAfter(Duration.seconds(5)) + .position(position); + notificationBuilder.showConfirm(); + } + + + public void showReminders() { + ReadOnlyAddressBook addressBook = logic.getAddressBook(); + List reminderList = addressBook.getReminderList(); + LocalDateTime now = LocalDateTime.now(); + for (int i = 0; i< reminderList.size();i++) { + Reminder r = reminderList.get(i); + if (now.isAfter(r.getReminderDateTime())) { + String des = (i+1) + ". " + r.getDescription(); + String remind = "Remind at: " + r.reminderDateTimeToString(); + show(des, remind); + } + } + } + public void show(String title, String text) { + //show notifications + Notifications notificationBuilder = Notifications.create() + .title(title) + .text(text) + .graphic(null) + .hideAfter(Duration.INDEFINITE) + .position(position); + notificationBuilder.showConfirm(); + } + +} diff --git a/src/main/java/seedu/address/ui/UiManager.java b/src/main/java/seedu/address/ui/UiManager.java index 0f721d04ef4..5a14002fd97 100644 --- a/src/main/java/seedu/address/ui/UiManager.java +++ b/src/main/java/seedu/address/ui/UiManager.java @@ -47,7 +47,8 @@ public void start(Stage primaryStage) { mainWindow.show(); //This should be called before creating other UI parts mainWindow.fillInnerParts(); - showNotification(); + NotificationManager notification = new NotificationManager(logic); + notification.showReminders(); } catch (Throwable e) { logger.severe(StringUtil.getDetails(e)); @@ -55,16 +56,6 @@ public void start(Stage primaryStage) { } } - public void showNotification() { - //show notifications - Notifications notificationBuilder = Notifications.create() - .title("Test Notification") - .text("This is a test Notification") - .graphic(null) - .hideAfter(Duration.seconds(5)) - .position(Pos.TOP_RIGHT); - notificationBuilder.showConfirm(); - } private Image getImage(String imagePath) { return new Image(MainApp.class.getResourceAsStream(imagePath)); From 46912957bbbffa5bcefdb6abe15a8201533e9c9f Mon Sep 17 00:00:00 2001 From: c0j0s Date: Sat, 11 Mar 2023 22:56:24 +0800 Subject: [PATCH 077/470] Add support for adding jobs to delivery system --- .../seedu/address/model/jobs/DeliveryJob.java | 28 +++++--- .../address/model/jobs/DeliveryPackage.java | 70 ------------------- .../model/jobs/UniqueDeliveryList.java | 26 ++++++- .../DeliveryJobNotFoundException.java | 10 +++ .../DuplicateDeliveryJobException.java | 6 ++ .../address/model/util/SampleDataUtil.java | 8 --- .../json/model/JsonAdaptedDeliveryJob.java | 6 +- .../model/JsonAdaptedDeliveryPackage.java | 17 ----- .../address/model/DeliveryJobSystemTest.java | 35 ++++++++++ .../address/model/jobs/DeliveryJobTest.java | 12 ++-- .../model/jobs/DeliveryPackageTest.java | 24 ------- .../address/testutil/TypicalDeliveryJobs.java | 53 ++++++++++++++ 12 files changed, 150 insertions(+), 145 deletions(-) delete mode 100644 src/main/java/seedu/address/model/jobs/DeliveryPackage.java create mode 100644 src/main/java/seedu/address/model/jobs/exceptions/DeliveryJobNotFoundException.java create mode 100644 src/main/java/seedu/address/model/jobs/exceptions/DuplicateDeliveryJobException.java delete mode 100644 src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryPackage.java create mode 100644 src/test/java/seedu/address/model/DeliveryJobSystemTest.java delete mode 100644 src/test/java/seedu/address/model/jobs/DeliveryPackageTest.java create mode 100644 src/test/java/seedu/address/testutil/TypicalDeliveryJobs.java diff --git a/src/main/java/seedu/address/model/jobs/DeliveryJob.java b/src/main/java/seedu/address/model/jobs/DeliveryJob.java index 29fac608fe1..a69d9822c9c 100644 --- a/src/main/java/seedu/address/model/jobs/DeliveryJob.java +++ b/src/main/java/seedu/address/model/jobs/DeliveryJob.java @@ -1,6 +1,5 @@ package seedu.address.model.jobs; -import java.util.List; import java.util.UUID; import seedu.address.model.person.Person; @@ -15,7 +14,6 @@ public class DeliveryJob { // Delivery informations private Person recepient; private String deliverSlot; // TODO: Update data type when confirmed - private List packages; private double earning; /** @@ -26,8 +24,8 @@ public class DeliveryJob { * @param packages * @param earning */ - public DeliveryJob(Person recepient, String deliverSlot, List packages, double earning) { - this(UUID.randomUUID().toString(), recepient, deliverSlot, packages, earning); + public DeliveryJob(Person recepient, String deliverSlot, double earning) { + this(UUID.randomUUID().toString(), recepient, deliverSlot, earning); } /** @@ -39,12 +37,10 @@ public DeliveryJob(Person recepient, String deliverSlot, List p * @param packages * @param earning */ - public DeliveryJob(String jobId, Person recepient, String deliverSlot, List packages, - double earning) { + public DeliveryJob(String jobId, Person recepient, String deliverSlot, double earning) { this.jobId = jobId; this.recepient = recepient; this.deliverSlot = deliverSlot; - this.packages = packages; this.earning = earning; } @@ -60,14 +56,24 @@ public String getDeliverSlot() { return deliverSlot; } - public List getPackages() { - return packages; - } - public double getEarning() { return earning; } + /** + * isSameDeliveryJob. + * + * @param otherJob + * @return + */ + public boolean isSameDeliveryJob(DeliveryJob otherJob) { + if (otherJob == this) { + return true; + } + + return otherJob != null && otherJob.getJobId().equals(getJobId()); + } + @Override public String toString() { final StringBuilder builder = new StringBuilder(); diff --git a/src/main/java/seedu/address/model/jobs/DeliveryPackage.java b/src/main/java/seedu/address/model/jobs/DeliveryPackage.java deleted file mode 100644 index 06481b0b17b..00000000000 --- a/src/main/java/seedu/address/model/jobs/DeliveryPackage.java +++ /dev/null @@ -1,70 +0,0 @@ -package seedu.address.model.jobs; - -/** - * DeliveryPackage - */ -public class DeliveryPackage { - // refine later - private final String packageId; - private double weight; - private double length; - private double breadth; - private double height; - - /** - * DeliveryPackage - * - * @param packageId - * @param weight - * @param length - * @param breadth - * @param height - */ - public DeliveryPackage(String packageId, double weight, double length, double breadth, double height) { - this.packageId = packageId; - this.weight = weight; - this.length = length; - this.breadth = breadth; - this.height = height; - } - - public String getPackageId() { - return packageId; - } - - public double getWeight() { - return weight; - } - - public double getLength() { - return length; - } - - public double getBreadth() { - return breadth; - } - - public double getHeight() { - return height; - } - - @Override - public String toString() { - final StringBuilder builder = new StringBuilder(); - - String outString = "Package [%s]\n" - + "weight: %s\n" - + "LxBxH: %s x %s x %s\n"; - - builder.append( - String.format(outString, - packageId, - getWeight(), - getLength(), - getBreadth(), - getHeight()) - ); - - return builder.toString(); - } -} diff --git a/src/main/java/seedu/address/model/jobs/UniqueDeliveryList.java b/src/main/java/seedu/address/model/jobs/UniqueDeliveryList.java index 5e9a41d5d91..862a5849959 100644 --- a/src/main/java/seedu/address/model/jobs/UniqueDeliveryList.java +++ b/src/main/java/seedu/address/model/jobs/UniqueDeliveryList.java @@ -6,6 +6,8 @@ import javafx.collections.FXCollections; import javafx.collections.ObservableList; +import seedu.address.model.jobs.exceptions.DeliveryJobNotFoundException; +import seedu.address.model.jobs.exceptions.DuplicateDeliveryJobException; /** * UniqueDeliveryList @@ -28,6 +30,14 @@ public Iterator iterator() { return internalList.iterator(); } + /** + * Contains. + */ + public boolean contains(DeliveryJob toCheck) { + requireNonNull(toCheck); + return internalList.stream().anyMatch(toCheck::isSameDeliveryJob); + } + /** * add * @@ -35,9 +45,19 @@ public Iterator iterator() { */ public void add(DeliveryJob toAdd) { requireNonNull(toAdd); - // if (contains(toAdd)) { - // throw new DuplicatePersonException(); - // } + if (contains(toAdd)) { + throw new DuplicateDeliveryJobException(); + } internalList.add(toAdd); } + + /** + * Removes. + */ + public void remove(DeliveryJob toRemove) { + requireNonNull(toRemove); + if (!internalList.remove(toRemove)) { + throw new DeliveryJobNotFoundException(); + } + } } diff --git a/src/main/java/seedu/address/model/jobs/exceptions/DeliveryJobNotFoundException.java b/src/main/java/seedu/address/model/jobs/exceptions/DeliveryJobNotFoundException.java new file mode 100644 index 00000000000..1abfb1d89a3 --- /dev/null +++ b/src/main/java/seedu/address/model/jobs/exceptions/DeliveryJobNotFoundException.java @@ -0,0 +1,10 @@ +package seedu.address.model.jobs.exceptions; + +/** + * DeliveryJobNotFoundException + */ +public class DeliveryJobNotFoundException extends RuntimeException { + public DeliveryJobNotFoundException() { + super("Operation would result in duplicate delivery jobs"); + } +} diff --git a/src/main/java/seedu/address/model/jobs/exceptions/DuplicateDeliveryJobException.java b/src/main/java/seedu/address/model/jobs/exceptions/DuplicateDeliveryJobException.java new file mode 100644 index 00000000000..5aeff877221 --- /dev/null +++ b/src/main/java/seedu/address/model/jobs/exceptions/DuplicateDeliveryJobException.java @@ -0,0 +1,6 @@ +package seedu.address.model.jobs.exceptions; + +/** + * DuplicateDeliveryJobException + */ +public class DuplicateDeliveryJobException extends RuntimeException {} diff --git a/src/main/java/seedu/address/model/util/SampleDataUtil.java b/src/main/java/seedu/address/model/util/SampleDataUtil.java index 266f006f96b..27108cdd348 100644 --- a/src/main/java/seedu/address/model/util/SampleDataUtil.java +++ b/src/main/java/seedu/address/model/util/SampleDataUtil.java @@ -1,6 +1,5 @@ package seedu.address.model.util; -import java.util.ArrayList; import java.util.Arrays; import java.util.Set; import java.util.stream.Collectors; @@ -10,7 +9,6 @@ import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.ReadOnlyDeliveryJobSystem; import seedu.address.model.jobs.DeliveryJob; -import seedu.address.model.jobs.DeliveryPackage; import seedu.address.model.person.Address; import seedu.address.model.person.Email; import seedu.address.model.person.Name; @@ -55,14 +53,12 @@ public static DeliveryJob[] getSampleDeliveryJob() { new Address("Blk 30 Geylang Street 29, #06-40"), getTagSet("friends")), "dummy slot", - new ArrayList(), 0.0), new DeliveryJob( new Person(new Name("Bernice Yu"), new Phone("99272758"), new Email("berniceyu@example.com"), new Address("Blk 30 Lorong 3 Serangoon Gardens, #07-18"), getTagSet("colleagues", "friends")), "dummy slot", - new ArrayList(), 0.0), new DeliveryJob( new Person(new Name("Charlotte Oliveiro"), new Phone("93210283"), @@ -70,28 +66,24 @@ public static DeliveryJob[] getSampleDeliveryJob() { new Address("Blk 11 Ang Mo Kio Street 74, #11-04"), getTagSet("neighbours")), "dummy slot", - new ArrayList(), 0.0), new DeliveryJob( new Person(new Name("David Li"), new Phone("91031282"), new Email("lidavid@example.com"), new Address("Blk 436 Serangoon Gardens Street 26, #16-43"), getTagSet("family")), "dummy slot", - new ArrayList(), 0.0), new DeliveryJob( new Person(new Name("Irfan Ibrahim"), new Phone("92492021"), new Email("irfan@example.com"), new Address("Blk 47 Tampines Street 20, #17-35"), getTagSet("classmates")), "dummy slot", - new ArrayList(), 0.0), new DeliveryJob( new Person(new Name("Roy Balakrishnan"), new Phone("92624417"), new Email("royb@example.com"), new Address("Blk 45 Aljunied Street 85, #11-31"), getTagSet("colleagues")), "dummy slot", - new ArrayList(), 0.0) }; } diff --git a/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryJob.java b/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryJob.java index 7d54f28f381..7c86803d8be 100644 --- a/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryJob.java +++ b/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryJob.java @@ -1,12 +1,9 @@ package seedu.address.storage.json.model; -import java.util.ArrayList; - import com.fasterxml.jackson.annotation.JsonProperty; import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.model.jobs.DeliveryJob; -import seedu.address.model.jobs.DeliveryPackage; /** * JsonAdaptedDeliveryJob @@ -31,7 +28,6 @@ public JsonAdaptedDeliveryJob( @JsonProperty("recepient") JsonAdaptedPerson recepient, @JsonProperty("slot") String deliverySlot, @JsonProperty("earning") double earning - //TODO: include packages ) { this.jobId = jobId; this.recepient = recepient; @@ -54,7 +50,7 @@ public JsonAdaptedDeliveryJob(DeliveryJob source) { @Override public DeliveryJob toModelType() throws IllegalValueException { // TODO: refine later - return new DeliveryJob(jobId, recepient.toModelType(), slot, new ArrayList(), earning); + return new DeliveryJob(jobId, recepient.toModelType(), slot, earning); } } diff --git a/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryPackage.java b/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryPackage.java deleted file mode 100644 index 174e32ed2f7..00000000000 --- a/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryPackage.java +++ /dev/null @@ -1,17 +0,0 @@ -package seedu.address.storage.json.model; - -import seedu.address.commons.exceptions.IllegalValueException; -import seedu.address.model.jobs.DeliveryPackage; - -/** - * JsonAdaptedDeliveryPackage - */ -public class JsonAdaptedDeliveryPackage extends JsonAdapted { - - @Override - public DeliveryPackage toModelType() throws IllegalValueException { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'toModelType'"); - } - -} diff --git a/src/test/java/seedu/address/model/DeliveryJobSystemTest.java b/src/test/java/seedu/address/model/DeliveryJobSystemTest.java new file mode 100644 index 00000000000..36fd2534f3e --- /dev/null +++ b/src/test/java/seedu/address/model/DeliveryJobSystemTest.java @@ -0,0 +1,35 @@ +package seedu.address.model; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import seedu.address.model.jobs.DeliveryJob; +import seedu.address.testutil.TypicalDeliveryJobs; + +public class DeliveryJobSystemTest { + + private DeliveryJobSystem ds; + + @BeforeEach + void setUp() { + ds = new DeliveryJobSystem(); + } + + @Test + void testAddDeliveryJob() { + DeliveryJob job = TypicalDeliveryJobs.JOBA; + assertEquals(ds.getDeliveryJobList().size(), 0); + ds.addDeliveryJob(job); + assertEquals(ds.getDeliveryJobList().size(), 1); + } + + @Test + void testGetDeliveryJobList() { + DeliveryJob job = TypicalDeliveryJobs.JOBA; + ds.addDeliveryJob(job); + assertEquals(ds.getDeliveryJobList().size(), 1); + assertEquals(ds.getDeliveryJobList().get(0).toString(), job.toString()); + } +} diff --git a/src/test/java/seedu/address/model/jobs/DeliveryJobTest.java b/src/test/java/seedu/address/model/jobs/DeliveryJobTest.java index 5f128542646..1535e1186b1 100644 --- a/src/test/java/seedu/address/model/jobs/DeliveryJobTest.java +++ b/src/test/java/seedu/address/model/jobs/DeliveryJobTest.java @@ -1,25 +1,23 @@ package seedu.address.model.jobs; -import static seedu.address.testutil.TypicalPersons.ALICE; +import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import seedu.address.testutil.TypicalDeliveryJobs; + public class DeliveryJobTest { private DeliveryJob job; @BeforeEach void setUp() { - job = new DeliveryJob( - ALICE, - null, - null, - 0); + job = TypicalDeliveryJobs.JOBA; } @Test void testToString() { - System.out.println(job); + assertEquals(job.toString(), TypicalDeliveryJobs.JOBA.toString()); } } diff --git a/src/test/java/seedu/address/model/jobs/DeliveryPackageTest.java b/src/test/java/seedu/address/model/jobs/DeliveryPackageTest.java deleted file mode 100644 index aacdc7ef18e..00000000000 --- a/src/test/java/seedu/address/model/jobs/DeliveryPackageTest.java +++ /dev/null @@ -1,24 +0,0 @@ -package seedu.address.model.jobs; - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; - -public class DeliveryPackageTest { - - private DeliveryPackage item; - - @BeforeEach - void setUp() { - item = new DeliveryPackage( - "", - 0, - 0, - 0, - 0); - } - - @Test - void testToString() { - System.out.println(item); - } -} diff --git a/src/test/java/seedu/address/testutil/TypicalDeliveryJobs.java b/src/test/java/seedu/address/testutil/TypicalDeliveryJobs.java new file mode 100644 index 00000000000..0576c8ca7cd --- /dev/null +++ b/src/test/java/seedu/address/testutil/TypicalDeliveryJobs.java @@ -0,0 +1,53 @@ +package seedu.address.testutil; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import seedu.address.model.DeliveryJobSystem; +import seedu.address.model.ReadOnlyDeliveryJobSystem; +import seedu.address.model.jobs.DeliveryJob; + +/** + * A set of TypicalDeliveryJobs + */ +public class TypicalDeliveryJobs { + + public static final DeliveryJob JOBA = new DeliveryJob( + TypicalPersons.ALICE, + "dummy slot", + 1.0); + + public static final DeliveryJob JOBB = new DeliveryJob( + TypicalPersons.BOB, + "dummy slot", + 2.0); + public static final DeliveryJob JOBC = new DeliveryJob( + TypicalPersons.CARL, + "dummy slot", + 3.0); + public static final DeliveryJob JOBD = new DeliveryJob( + TypicalPersons.DANIEL, + "dummy slot", + 4.0); + public static final DeliveryJob JOBE = new DeliveryJob( + TypicalPersons.ELLE, + "dummy slot", + 5.0); + public static final DeliveryJob JOBF = new DeliveryJob( + TypicalPersons.FIONA, + "dummy slot", + 6.0); + + public static ReadOnlyDeliveryJobSystem getSampleDeliveryJobSystem() { + DeliveryJobSystem sampleDS = new DeliveryJobSystem(); + for (DeliveryJob sampleJob : getTypicalDeliveryJobs()) { + sampleDS.addDeliveryJob(sampleJob); + } + return sampleDS; + } + + public static List getTypicalDeliveryJobs() { + return new ArrayList<>(Arrays.asList(JOBA, JOBB, JOBC, JOBD, JOBE, JOBF)); + } +} From a17dadb98a3a817538432ea7e092e4d4ab85305c Mon Sep 17 00:00:00 2001 From: ChinJunAn Date: Sat, 11 Mar 2023 23:07:28 +0800 Subject: [PATCH 078/470] Add "list_reminder" and "delete_reminder" command. Correct coding style. App does not have the function to display all reminders that have currently been added. Additionally, app does not have the ability to delete reminders. Let's: * Add "list_reminder" command to list all reminders that have been added. * Add "delete_reminder" command to delete reminders from the reminderList based on the index of the reminder. Also, correct any Java coding style violations. --- .../java/seedu/address/AppParameters.java | 24 ++--- src/main/java/seedu/address/Main.java | 10 +- src/main/java/seedu/address/MainApp.java | 10 +- .../address/commons/core/GuiSettings.java | 2 +- .../address/commons/core/LogsCenter.java | 13 +-- .../seedu/address/commons/core/Messages.java | 1 + .../seedu/address/commons/core/Version.java | 39 ++++---- .../address/commons/core/index/Index.java | 18 ++-- .../exceptions/IllegalValueException.java | 2 +- .../seedu/address/commons/util/AppUtil.java | 4 +- .../address/commons/util/CollectionUtil.java | 8 +- .../address/commons/util/ConfigUtil.java | 6 +- .../address/commons/util/DateTimeUtil.java | 2 + .../seedu/address/commons/util/FileUtil.java | 2 + .../seedu/address/commons/util/JsonUtil.java | 28 +++--- .../address/commons/util/StringUtil.java | 14 +-- src/main/java/seedu/address/logic/Logic.java | 16 ++-- .../seedu/address/logic/LogicManager.java | 9 +- .../address/logic/commands/AddCommand.java | 10 +- .../address/logic/commands/ClearCommand.java | 4 +- .../address/logic/commands/CommandResult.java | 12 ++- .../address/logic/commands/DeleteCommand.java | 8 +- .../logic/commands/DeleteReminder.java | 39 ++++++++ .../address/logic/commands/EditCommand.java | 95 ++++++++----------- .../address/logic/commands/FindCommand.java | 4 +- .../address/logic/commands/ListCommand.java | 4 +- .../address/logic/commands/ListReminder.java | 24 +++++ .../logic/parser/AddCommandParser.java | 37 +++----- .../logic/parser/AddReminderParser.java | 27 +++--- .../logic/parser/AddressBookParser.java | 14 ++- .../logic/parser/ArgumentMultimap.java | 10 +- .../logic/parser/ArgumentTokenizer.java | 18 ++-- .../logic/parser/DeleteCommandParser.java | 5 +- .../logic/parser/DeleteReminderParser.java | 18 ++++ .../logic/parser/EditCommandParser.java | 21 ++-- .../logic/parser/FindCommandParser.java | 9 +- .../seedu/address/logic/parser/Parser.java | 1 + .../address/logic/parser/ParserUtil.java | 13 +-- .../java/seedu/address/model/AddressBook.java | 34 +++---- src/main/java/seedu/address/model/Model.java | 35 ++++--- .../seedu/address/model/ModelManager.java | 33 ++++--- .../address/model/ReadOnlyUserPrefs.java | 4 +- .../java/seedu/address/model/UserPrefs.java | 9 +- .../person/NameContainsKeywordsPredicate.java | 4 +- .../seedu/address/model/person/Person.java | 4 +- .../model/person/UniquePersonList.java | 16 ++-- .../exceptions/PersonNotFoundException.java | 3 +- .../address/model/reminder/ReminderList.java | 7 +- .../address/model/util/SampleDataUtil.java | 52 +++++----- .../address/storage/AddressBookStorage.java | 12 ++- .../address/storage/JsonAdaptedPerson.java | 21 ++-- .../seedu/address/storage/JsonAdaptedTag.java | 1 - .../storage/JsonAddressBookStorage.java | 14 +-- .../storage/JsonSerializableAddressBook.java | 9 +- .../address/storage/JsonUserPrefsStorage.java | 9 +- .../java/seedu/address/storage/Storage.java | 8 +- .../seedu/address/storage/StorageManager.java | 10 +- .../address/storage/UserPrefsStorage.java | 14 +-- .../java/seedu/address/ui/HelpWindow.java | 34 +++---- .../java/seedu/address/ui/MainWindow.java | 5 +- .../seedu/address/ui/NotificationManager.java | 31 ++++-- .../java/seedu/address/ui/PersonCard.java | 4 +- .../seedu/address/ui/PersonListPanel.java | 4 +- .../java/seedu/address/ui/ResultDisplay.java | 4 +- .../seedu/address/ui/StatusBarFooter.java | 6 +- src/main/java/seedu/address/ui/Ui.java | 4 +- src/main/java/seedu/address/ui/UiManager.java | 42 ++++---- src/main/java/seedu/address/ui/UiPart.java | 35 ++++--- 68 files changed, 575 insertions(+), 474 deletions(-) create mode 100644 src/main/java/seedu/address/logic/commands/DeleteReminder.java create mode 100644 src/main/java/seedu/address/logic/commands/ListReminder.java create mode 100644 src/main/java/seedu/address/logic/parser/DeleteReminderParser.java diff --git a/src/main/java/seedu/address/AppParameters.java b/src/main/java/seedu/address/AppParameters.java index ab552c398f3..6a363922a93 100644 --- a/src/main/java/seedu/address/AppParameters.java +++ b/src/main/java/seedu/address/AppParameters.java @@ -1,15 +1,15 @@ package seedu.address; +import javafx.application.Application; +import seedu.address.commons.core.LogsCenter; +import seedu.address.commons.util.FileUtil; + import java.nio.file.Path; import java.nio.file.Paths; import java.util.Map; import java.util.Objects; import java.util.logging.Logger; -import javafx.application.Application; -import seedu.address.commons.core.LogsCenter; -import seedu.address.commons.util.FileUtil; - /** * Represents the parsed command-line parameters given to the application. */ @@ -18,14 +18,6 @@ public class AppParameters { private Path configPath; - public Path getConfigPath() { - return configPath; - } - - public void setConfigPath(Path configPath) { - this.configPath = configPath; - } - /** * Parses the application command-line parameters. */ @@ -43,6 +35,14 @@ public static AppParameters parse(Application.Parameters parameters) { return appParameters; } + public Path getConfigPath() { + return configPath; + } + + public void setConfigPath(Path configPath) { + this.configPath = configPath; + } + @Override public boolean equals(Object other) { if (other == this) { diff --git a/src/main/java/seedu/address/Main.java b/src/main/java/seedu/address/Main.java index 052a5068631..84ebf8e093f 100644 --- a/src/main/java/seedu/address/Main.java +++ b/src/main/java/seedu/address/Main.java @@ -4,17 +4,17 @@ /** * The main entry point to the application. - * + *

* This is a workaround for the following error when MainApp is made the * entry point of the application: - * - * Error: JavaFX runtime components are missing, and are required to run this application - * + *

+ * Error: JavaFX runtime components are missing, and are required to run this application + *

* The reason is that MainApp extends Application. In that case, the * LauncherHelper will check for the javafx.graphics module to be present * as a named module. We don't use JavaFX via the module system so it can't * find the javafx.graphics module, and so the launch is aborted. - * + *

* By having a separate main class (Main) that doesn't extend Application * to be the entry point of the application, we avoid this issue. */ diff --git a/src/main/java/seedu/address/MainApp.java b/src/main/java/seedu/address/MainApp.java index 971c6a14cfa..f3a6e3d6dce 100644 --- a/src/main/java/seedu/address/MainApp.java +++ b/src/main/java/seedu/address/MainApp.java @@ -1,10 +1,5 @@ package seedu.address; -import java.io.IOException; -import java.nio.file.Path; -import java.util.Optional; -import java.util.logging.Logger; - import javafx.application.Application; import javafx.stage.Stage; import seedu.address.commons.core.Config; @@ -21,6 +16,11 @@ import seedu.address.ui.Ui; import seedu.address.ui.UiManager; +import java.io.IOException; +import java.nio.file.Path; +import java.util.Optional; +import java.util.logging.Logger; + /** * Runs the application. */ diff --git a/src/main/java/seedu/address/commons/core/GuiSettings.java b/src/main/java/seedu/address/commons/core/GuiSettings.java index ba33653be67..29cf5fe2311 100644 --- a/src/main/java/seedu/address/commons/core/GuiSettings.java +++ b/src/main/java/seedu/address/commons/core/GuiSettings.java @@ -1,6 +1,6 @@ package seedu.address.commons.core; -import java.awt.Point; +import java.awt.*; import java.io.Serializable; import java.util.Objects; diff --git a/src/main/java/seedu/address/commons/core/LogsCenter.java b/src/main/java/seedu/address/commons/core/LogsCenter.java index 431e7185e76..f3c78485dfb 100644 --- a/src/main/java/seedu/address/commons/core/LogsCenter.java +++ b/src/main/java/seedu/address/commons/core/LogsCenter.java @@ -2,27 +2,23 @@ import java.io.IOException; import java.util.Arrays; -import java.util.logging.ConsoleHandler; -import java.util.logging.FileHandler; -import java.util.logging.Level; -import java.util.logging.Logger; -import java.util.logging.SimpleFormatter; +import java.util.logging.*; /** * Configures and manages loggers and handlers, including their logging level * Named {@link Logger}s can be obtained from this class
* These loggers have been configured to output messages to the console and a {@code .log} file by default, - * at the {@code INFO} level. A new {@code .log} file with a new numbering will be created after the log - * file reaches 5MB big, up to a maximum of 5 files.
+ * at the {@code INFO} level. A new {@code .log} file with a new numbering will be created after the log + * file reaches 5MB big, up to a maximum of 5 files.
*/ public class LogsCenter { private static final int MAX_FILE_COUNT = 5; private static final int MAX_FILE_SIZE_IN_BYTES = (int) (Math.pow(2, 20) * 5); // 5MB private static final String LOG_FILE = "addressbook.log"; private static Level currentLogLevel = Level.INFO; - private static final Logger logger = LogsCenter.getLogger(LogsCenter.class); private static FileHandler fileHandler; private static ConsoleHandler consoleHandler; + private static final Logger logger = LogsCenter.getLogger(LogsCenter.class); /** * Initializes with a custom log level (specified in the {@code config} object) @@ -95,6 +91,7 @@ private static void addFileHandler(Logger logger) { /** * Creates a {@code FileHandler} for the log file. + * * @throws IOException if there are problems opening the file. */ private static FileHandler createFileHandler() throws IOException { diff --git a/src/main/java/seedu/address/commons/core/Messages.java b/src/main/java/seedu/address/commons/core/Messages.java index 1deb3a1e469..4e27c67e174 100644 --- a/src/main/java/seedu/address/commons/core/Messages.java +++ b/src/main/java/seedu/address/commons/core/Messages.java @@ -8,6 +8,7 @@ public class Messages { public static final String MESSAGE_UNKNOWN_COMMAND = "Unknown command"; public static final String MESSAGE_INVALID_COMMAND_FORMAT = "Invalid command format! \n%1$s"; public static final String MESSAGE_INVALID_PERSON_DISPLAYED_INDEX = "The person index provided is invalid"; + public static final String MESSAGE_INVALID_REMINDER_DISPLAYED_INDEX = "The reminder index provided is invalid"; public static final String MESSAGE_PERSONS_LISTED_OVERVIEW = "%1$d persons listed!"; } diff --git a/src/main/java/seedu/address/commons/core/Version.java b/src/main/java/seedu/address/commons/core/Version.java index 12142ec1e32..20d3302cac5 100644 --- a/src/main/java/seedu/address/commons/core/Version.java +++ b/src/main/java/seedu/address/commons/core/Version.java @@ -1,11 +1,11 @@ package seedu.address.commons.core; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + /** * Represents a version with major, minor and patch number */ @@ -32,24 +32,9 @@ public Version(int major, int minor, int patch, boolean isEarlyAccess) { this.isEarlyAccess = isEarlyAccess; } - public int getMajor() { - return major; - } - - public int getMinor() { - return minor; - } - - public int getPatch() { - return patch; - } - - public boolean isEarlyAccess() { - return isEarlyAccess; - } - /** * Parses a version number string in the format V1.2.3. + * * @param versionString version number string * @return a Version object */ @@ -67,6 +52,22 @@ public static Version fromString(String versionString) throws IllegalArgumentExc versionMatcher.group(4) == null ? false : true); } + public int getMajor() { + return major; + } + + public int getMinor() { + return minor; + } + + public int getPatch() { + return patch; + } + + public boolean isEarlyAccess() { + return isEarlyAccess; + } + @JsonValue public String toString() { return String.format("V%d.%d.%d%s", major, minor, patch, isEarlyAccess ? "ea" : ""); diff --git a/src/main/java/seedu/address/commons/core/index/Index.java b/src/main/java/seedu/address/commons/core/index/Index.java index 19536439c09..82776e53f4b 100644 --- a/src/main/java/seedu/address/commons/core/index/Index.java +++ b/src/main/java/seedu/address/commons/core/index/Index.java @@ -2,7 +2,7 @@ /** * Represents a zero-based or one-based index. - * + *

* {@code Index} should be used right from the start (when parsing in a new user input), so that if the current * component wants to communicate with another component, it can send an {@code Index} to avoid having to know what * base the other component is using for its index. However, after receiving the {@code Index}, that component can @@ -23,14 +23,6 @@ private Index(int zeroBasedIndex) { this.zeroBasedIndex = zeroBasedIndex; } - public int getZeroBased() { - return zeroBasedIndex; - } - - public int getOneBased() { - return zeroBasedIndex + 1; - } - /** * Creates a new {@code Index} using a zero-based index. */ @@ -45,6 +37,14 @@ public static Index fromOneBased(int oneBasedIndex) { return new Index(oneBasedIndex - 1); } + public int getZeroBased() { + return zeroBasedIndex; + } + + public int getOneBased() { + return zeroBasedIndex + 1; + } + @Override public boolean equals(Object other) { return other == this // short circuit if same object diff --git a/src/main/java/seedu/address/commons/exceptions/IllegalValueException.java b/src/main/java/seedu/address/commons/exceptions/IllegalValueException.java index 19124db485c..651ce290208 100644 --- a/src/main/java/seedu/address/commons/exceptions/IllegalValueException.java +++ b/src/main/java/seedu/address/commons/exceptions/IllegalValueException.java @@ -13,7 +13,7 @@ public IllegalValueException(String message) { /** * @param message should contain relevant information on the failed constraint(s) - * @param cause of the main exception + * @param cause of the main exception */ public IllegalValueException(String message, Throwable cause) { super(message, cause); diff --git a/src/main/java/seedu/address/commons/util/AppUtil.java b/src/main/java/seedu/address/commons/util/AppUtil.java index 87aa89c0326..1e06944bd92 100644 --- a/src/main/java/seedu/address/commons/util/AppUtil.java +++ b/src/main/java/seedu/address/commons/util/AppUtil.java @@ -1,10 +1,10 @@ package seedu.address.commons.util; -import static java.util.Objects.requireNonNull; - import javafx.scene.image.Image; import seedu.address.MainApp; +import static java.util.Objects.requireNonNull; + /** * A container for App specific utility functions */ diff --git a/src/main/java/seedu/address/commons/util/CollectionUtil.java b/src/main/java/seedu/address/commons/util/CollectionUtil.java index eafe4dfd681..62de09a7606 100644 --- a/src/main/java/seedu/address/commons/util/CollectionUtil.java +++ b/src/main/java/seedu/address/commons/util/CollectionUtil.java @@ -1,18 +1,20 @@ package seedu.address.commons.util; -import static java.util.Objects.requireNonNull; - import java.util.Arrays; import java.util.Collection; import java.util.Objects; import java.util.stream.Stream; +import static java.util.Objects.requireNonNull; + /** * Utility methods related to Collections */ public class CollectionUtil { - /** @see #requireAllNonNull(Collection) */ + /** + * @see #requireAllNonNull(Collection) + */ public static void requireAllNonNull(Object... items) { requireNonNull(items); Stream.of(items).forEach(Objects::requireNonNull); diff --git a/src/main/java/seedu/address/commons/util/ConfigUtil.java b/src/main/java/seedu/address/commons/util/ConfigUtil.java index f7f8a2bd44c..98a29a81668 100644 --- a/src/main/java/seedu/address/commons/util/ConfigUtil.java +++ b/src/main/java/seedu/address/commons/util/ConfigUtil.java @@ -1,12 +1,12 @@ package seedu.address.commons.util; +import seedu.address.commons.core.Config; +import seedu.address.commons.exceptions.DataConversionException; + import java.io.IOException; import java.nio.file.Path; import java.util.Optional; -import seedu.address.commons.core.Config; -import seedu.address.commons.exceptions.DataConversionException; - /** * A class for accessing the Config File. */ diff --git a/src/main/java/seedu/address/commons/util/DateTimeUtil.java b/src/main/java/seedu/address/commons/util/DateTimeUtil.java index fc27457f0f7..f0e7b70055d 100644 --- a/src/main/java/seedu/address/commons/util/DateTimeUtil.java +++ b/src/main/java/seedu/address/commons/util/DateTimeUtil.java @@ -5,9 +5,11 @@ public class DateTimeUtil { public final static DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); + public static LocalDateTime toDateTime(String s) { return LocalDateTime.parse(s, DATE_TIME_FORMATTER); } + public static String dateTimeToString(LocalDateTime t) { return t.format(DATE_TIME_FORMATTER); } diff --git a/src/main/java/seedu/address/commons/util/FileUtil.java b/src/main/java/seedu/address/commons/util/FileUtil.java index b1e2767cdd9..f811215474c 100644 --- a/src/main/java/seedu/address/commons/util/FileUtil.java +++ b/src/main/java/seedu/address/commons/util/FileUtil.java @@ -20,6 +20,7 @@ public static boolean isFileExists(Path file) { /** * Returns true if {@code path} can be converted into a {@code Path} via {@link Paths#get(String)}, * otherwise returns false. + * * @param path A string representing the file path. Cannot be null. */ public static boolean isValidPath(String path) { @@ -33,6 +34,7 @@ public static boolean isValidPath(String path) { /** * Creates a file if it does not exist along with its missing parent directories. + * * @throws IOException if the file or directory cannot be created. */ public static void createIfMissing(Path file) throws IOException { diff --git a/src/main/java/seedu/address/commons/util/JsonUtil.java b/src/main/java/seedu/address/commons/util/JsonUtil.java index 8ef609f055d..d1d791a0031 100644 --- a/src/main/java/seedu/address/commons/util/JsonUtil.java +++ b/src/main/java/seedu/address/commons/util/JsonUtil.java @@ -1,14 +1,5 @@ package seedu.address.commons.util; -import static java.util.Objects.requireNonNull; - -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.Optional; -import java.util.logging.Level; -import java.util.logging.Logger; - import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.core.JsonProcessingException; @@ -19,10 +10,18 @@ import com.fasterxml.jackson.databind.deser.std.FromStringDeserializer; import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; - import seedu.address.commons.core.LogsCenter; import seedu.address.commons.exceptions.DataConversionException; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.Optional; +import java.util.logging.Level; +import java.util.logging.Logger; + +import static java.util.Objects.requireNonNull; + /** * Converts a Java object instance to JSON and vice versa */ @@ -51,7 +50,8 @@ static T deserializeObjectFromJsonFile(Path jsonFile, Class classOfObject /** * Returns the Json object from the given file or {@code Optional.empty()} object if the file is not found. * If any values are missing from the file, default values will be used, as long as the file is a valid json file. - * @param filePath cannot be null. + * + * @param filePath cannot be null. * @param classOfObjectToDeserialize Json file has to correspond to the structure in the class given here. * @throws DataConversionException if the file format is not as expected. */ @@ -79,6 +79,7 @@ public static Optional readJsonFile( /** * Saves the Json object to the specified file. * Overwrites existing file if it exists, creates a new file if it doesn't. + * * @param jsonFile cannot be null * @param filePath cannot be null * @throws IOException if there was an error during writing to the file @@ -93,6 +94,7 @@ public static void saveJsonFile(T jsonFile, Path filePath) throws IOExceptio /** * Converts a given string representation of a JSON data to instance of a class + * * @param The generic type to create an instance of * @return The instance of T with the specified values in the JSON string */ @@ -102,8 +104,9 @@ public static T fromJsonString(String json, Class instanceClass) throws I /** * Converts a given instance of a class into its JSON data string representation + * * @param instance The T object to be converted into the JSON string - * @param The generic type to create an instance of + * @param The generic type to create an instance of * @return JSON data representation of the given class instance, in string */ public static String toJsonString(T instance) throws JsonProcessingException { @@ -128,7 +131,6 @@ protected Level _deserialize(String value, DeserializationContext ctxt) { * Gets the logging level that matches loggingLevelString *

* Returns null if there are no matches - * */ private Level getLoggingLevel(String loggingLevelString) { return Level.parse(loggingLevelString); diff --git a/src/main/java/seedu/address/commons/util/StringUtil.java b/src/main/java/seedu/address/commons/util/StringUtil.java index 61cc8c9a1cb..4844d9ceaaa 100644 --- a/src/main/java/seedu/address/commons/util/StringUtil.java +++ b/src/main/java/seedu/address/commons/util/StringUtil.java @@ -1,12 +1,12 @@ package seedu.address.commons.util; -import static java.util.Objects.requireNonNull; -import static seedu.address.commons.util.AppUtil.checkArgument; - import java.io.PrintWriter; import java.io.StringWriter; import java.util.Arrays; +import static java.util.Objects.requireNonNull; +import static seedu.address.commons.util.AppUtil.checkArgument; + /** * Helper functions for handling strings. */ @@ -14,14 +14,15 @@ public class StringUtil { /** * Returns true if the {@code sentence} contains the {@code word}. - * Ignores case, but a full word match is required. - *
examples:

+     * Ignores case, but a full word match is required.
+     * 
examples:
      *       containsWordIgnoreCase("ABc def", "abc") == true
      *       containsWordIgnoreCase("ABc def", "DEF") == true
      *       containsWordIgnoreCase("ABc def", "AB") == false //not a full word match
      *       
+ * * @param sentence cannot be null - * @param word cannot be null, cannot be empty, must be a single word + * @param word cannot be null, cannot be empty, must be a single word */ public static boolean containsWordIgnoreCase(String sentence, String word) { requireNonNull(sentence); @@ -53,6 +54,7 @@ public static String getDetails(Throwable t) { * e.g. 1, 2, 3, ..., {@code Integer.MAX_VALUE}
* Will return false for any other non-null string input * e.g. empty string, "-1", "0", "+1", and " 2 " (untrimmed), "3 0" (contains whitespace), "1 a" (contains letters) + * * @throws NullPointerException if {@code s} is null. */ public static boolean isNonZeroUnsignedInteger(String s) { diff --git a/src/main/java/seedu/address/logic/Logic.java b/src/main/java/seedu/address/logic/Logic.java index 090c7727845..d05a39c9373 100644 --- a/src/main/java/seedu/address/logic/Logic.java +++ b/src/main/java/seedu/address/logic/Logic.java @@ -1,8 +1,5 @@ package seedu.address.logic; -import java.nio.file.Path; -import java.util.List; - import javafx.collections.ObservableList; import seedu.address.commons.core.GuiSettings; import seedu.address.logic.commands.CommandResult; @@ -12,16 +9,19 @@ import seedu.address.model.person.Person; import seedu.address.model.reminder.Reminder; +import java.nio.file.Path; + /** * API of the Logic component */ public interface Logic { /** * Executes the command and returns the result. + * * @param commandText The command as entered by the user. * @return the result of the command execution. * @throws CommandException If an error occurs during command execution. - * @throws ParseException If an error occurs during parsing. + * @throws ParseException If an error occurs during parsing. */ CommandResult execute(String commandText) throws CommandException, ParseException; @@ -32,10 +32,14 @@ public interface Logic { */ ReadOnlyAddressBook getAddressBook(); - /** Returns an unmodifiable view of the filtered list of persons */ + /** + * Returns an unmodifiable view of the filtered list of persons + */ ObservableList getFilteredPersonList(); - /** Returns an unmodifiable view of the filtered list of persons */ + /** + * Returns an unmodifiable view of the filtered list of persons + */ ObservableList getReminderList(); /** diff --git a/src/main/java/seedu/address/logic/LogicManager.java b/src/main/java/seedu/address/logic/LogicManager.java index 5bf3dd9ab2d..0a0f9407f7f 100644 --- a/src/main/java/seedu/address/logic/LogicManager.java +++ b/src/main/java/seedu/address/logic/LogicManager.java @@ -1,10 +1,5 @@ package seedu.address.logic; -import java.io.IOException; -import java.nio.file.Path; -import java.util.List; -import java.util.logging.Logger; - import javafx.collections.ObservableList; import seedu.address.commons.core.GuiSettings; import seedu.address.commons.core.LogsCenter; @@ -19,6 +14,10 @@ import seedu.address.model.reminder.Reminder; import seedu.address.storage.Storage; +import java.io.IOException; +import java.nio.file.Path; +import java.util.logging.Logger; + /** * The main LogicManager of the app. */ diff --git a/src/main/java/seedu/address/logic/commands/AddCommand.java b/src/main/java/seedu/address/logic/commands/AddCommand.java index 71656d7c5c8..7ea95122f3f 100644 --- a/src/main/java/seedu/address/logic/commands/AddCommand.java +++ b/src/main/java/seedu/address/logic/commands/AddCommand.java @@ -1,16 +1,12 @@ package seedu.address.logic.commands; -import static java.util.Objects.requireNonNull; -import static seedu.address.logic.parser.CliSyntax.PREFIX_ADDRESS; -import static seedu.address.logic.parser.CliSyntax.PREFIX_EMAIL; -import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; -import static seedu.address.logic.parser.CliSyntax.PREFIX_PHONE; -import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG; - import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.Model; import seedu.address.model.person.Person; +import static java.util.Objects.requireNonNull; +import static seedu.address.logic.parser.CliSyntax.*; + /** * Adds a person to the address book. */ diff --git a/src/main/java/seedu/address/logic/commands/ClearCommand.java b/src/main/java/seedu/address/logic/commands/ClearCommand.java index 9c86b1fa6e4..e919c90837b 100644 --- a/src/main/java/seedu/address/logic/commands/ClearCommand.java +++ b/src/main/java/seedu/address/logic/commands/ClearCommand.java @@ -1,10 +1,10 @@ package seedu.address.logic.commands; -import static java.util.Objects.requireNonNull; - import seedu.address.model.AddressBook; import seedu.address.model.Model; +import static java.util.Objects.requireNonNull; + /** * Clears the address book. */ diff --git a/src/main/java/seedu/address/logic/commands/CommandResult.java b/src/main/java/seedu/address/logic/commands/CommandResult.java index 92f900b7916..ed6a6a37eaa 100644 --- a/src/main/java/seedu/address/logic/commands/CommandResult.java +++ b/src/main/java/seedu/address/logic/commands/CommandResult.java @@ -1,9 +1,9 @@ package seedu.address.logic.commands; -import static java.util.Objects.requireNonNull; - import java.util.Objects; +import static java.util.Objects.requireNonNull; + /** * Represents the result of a command execution. */ @@ -11,10 +11,14 @@ public class CommandResult { private final String feedbackToUser; - /** Help information should be shown to the user. */ + /** + * Help information should be shown to the user. + */ private final boolean showHelp; - /** The application should exit. */ + /** + * The application should exit. + */ private final boolean exit; /** diff --git a/src/main/java/seedu/address/logic/commands/DeleteCommand.java b/src/main/java/seedu/address/logic/commands/DeleteCommand.java index 02fd256acba..9532b0be021 100644 --- a/src/main/java/seedu/address/logic/commands/DeleteCommand.java +++ b/src/main/java/seedu/address/logic/commands/DeleteCommand.java @@ -1,15 +1,15 @@ package seedu.address.logic.commands; -import static java.util.Objects.requireNonNull; - -import java.util.List; - import seedu.address.commons.core.Messages; import seedu.address.commons.core.index.Index; import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.Model; import seedu.address.model.person.Person; +import java.util.List; + +import static java.util.Objects.requireNonNull; + /** * Deletes a person identified using it's displayed index from the address book. */ diff --git a/src/main/java/seedu/address/logic/commands/DeleteReminder.java b/src/main/java/seedu/address/logic/commands/DeleteReminder.java new file mode 100644 index 00000000000..99dba92b3e3 --- /dev/null +++ b/src/main/java/seedu/address/logic/commands/DeleteReminder.java @@ -0,0 +1,39 @@ +package seedu.address.logic.commands; + +import seedu.address.commons.core.Messages; +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.model.Model; +import seedu.address.model.reminder.Reminder; + +import java.util.List; + +import static java.util.Objects.requireNonNull; + +public class DeleteReminder extends Command { + public static final String COMMAND_WORD = "delete_reminder"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + + ": Deletes the reminder identified by the index number used in the displayed notification.\n" + + "Parameters: INDEX (must be a positive integer)\n" + + "Example: " + COMMAND_WORD + " 1"; + + public static final String MESSAGE_DELETE_REMINDER_SUCCESS = "Deleted Reminder"; + + private final int targetIndex; + + public DeleteReminder(int targetIndex) { + this.targetIndex = targetIndex - 1; + } + + @Override + public CommandResult execute(Model model) throws CommandException { + requireNonNull(model); + List reminderList = model.getReminderList(); + + if (targetIndex > reminderList.size() - 1 || targetIndex < 0) { + throw new CommandException(Messages.MESSAGE_INVALID_REMINDER_DISPLAYED_INDEX); + } + model.deleteReminder(targetIndex); + return new CommandResult(String.format(MESSAGE_DELETE_REMINDER_SUCCESS)); + } +} diff --git a/src/main/java/seedu/address/logic/commands/EditCommand.java b/src/main/java/seedu/address/logic/commands/EditCommand.java index 7e36114902f..2d1467911bb 100644 --- a/src/main/java/seedu/address/logic/commands/EditCommand.java +++ b/src/main/java/seedu/address/logic/commands/EditCommand.java @@ -1,31 +1,19 @@ package seedu.address.logic.commands; -import static java.util.Objects.requireNonNull; -import static seedu.address.logic.parser.CliSyntax.PREFIX_ADDRESS; -import static seedu.address.logic.parser.CliSyntax.PREFIX_EMAIL; -import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; -import static seedu.address.logic.parser.CliSyntax.PREFIX_PHONE; -import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG; -import static seedu.address.model.Model.PREDICATE_SHOW_ALL_PERSONS; - -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Optional; -import java.util.Set; - import seedu.address.commons.core.Messages; import seedu.address.commons.core.index.Index; import seedu.address.commons.util.CollectionUtil; import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.Model; -import seedu.address.model.person.Address; -import seedu.address.model.person.Email; -import seedu.address.model.person.Name; -import seedu.address.model.person.Person; -import seedu.address.model.person.Phone; +import seedu.address.model.person.*; import seedu.address.model.tag.Tag; +import java.util.*; + +import static java.util.Objects.requireNonNull; +import static seedu.address.logic.parser.CliSyntax.*; +import static seedu.address.model.Model.PREDICATE_SHOW_ALL_PERSONS; + /** * Edits the details of an existing person in the address book. */ @@ -54,7 +42,7 @@ public class EditCommand extends Command { private final EditPersonDescriptor editPersonDescriptor; /** - * @param index of the person in the filtered person list to edit + * @param index of the person in the filtered person list to edit * @param editPersonDescriptor details to edit the person with */ public EditCommand(Index index, EditPersonDescriptor editPersonDescriptor) { @@ -65,6 +53,22 @@ public EditCommand(Index index, EditPersonDescriptor editPersonDescriptor) { this.editPersonDescriptor = new EditPersonDescriptor(editPersonDescriptor); } + /** + * Creates and returns a {@code Person} with the details of {@code personToEdit} + * edited with {@code editPersonDescriptor}. + */ + private static Person createEditedPerson(Person personToEdit, EditPersonDescriptor editPersonDescriptor) { + assert personToEdit != null; + + Name updatedName = editPersonDescriptor.getName().orElse(personToEdit.getName()); + Phone updatedPhone = editPersonDescriptor.getPhone().orElse(personToEdit.getPhone()); + Email updatedEmail = editPersonDescriptor.getEmail().orElse(personToEdit.getEmail()); + Address updatedAddress = editPersonDescriptor.getAddress().orElse(personToEdit.getAddress()); + Set updatedTags = editPersonDescriptor.getTags().orElse(personToEdit.getTags()); + + return new Person(updatedName, updatedPhone, updatedEmail, updatedAddress, updatedTags); + } + @Override public CommandResult execute(Model model) throws CommandException { requireNonNull(model); @@ -86,22 +90,6 @@ public CommandResult execute(Model model) throws CommandException { return new CommandResult(String.format(MESSAGE_EDIT_PERSON_SUCCESS, editedPerson)); } - /** - * Creates and returns a {@code Person} with the details of {@code personToEdit} - * edited with {@code editPersonDescriptor}. - */ - private static Person createEditedPerson(Person personToEdit, EditPersonDescriptor editPersonDescriptor) { - assert personToEdit != null; - - Name updatedName = editPersonDescriptor.getName().orElse(personToEdit.getName()); - Phone updatedPhone = editPersonDescriptor.getPhone().orElse(personToEdit.getPhone()); - Email updatedEmail = editPersonDescriptor.getEmail().orElse(personToEdit.getEmail()); - Address updatedAddress = editPersonDescriptor.getAddress().orElse(personToEdit.getAddress()); - Set updatedTags = editPersonDescriptor.getTags().orElse(personToEdit.getTags()); - - return new Person(updatedName, updatedPhone, updatedEmail, updatedAddress, updatedTags); - } - @Override public boolean equals(Object other) { // short circuit if same object @@ -131,7 +119,8 @@ public static class EditPersonDescriptor { private Address address; private Set tags; - public EditPersonDescriptor() {} + public EditPersonDescriptor() { + } /** * Copy constructor. @@ -152,44 +141,36 @@ public boolean isAnyFieldEdited() { return CollectionUtil.isAnyNonNull(name, phone, email, address, tags); } - public void setName(Name name) { - this.name = name; - } - public Optional getName() { return Optional.ofNullable(name); } - public void setPhone(Phone phone) { - this.phone = phone; + public void setName(Name name) { + this.name = name; } public Optional getPhone() { return Optional.ofNullable(phone); } - public void setEmail(Email email) { - this.email = email; + public void setPhone(Phone phone) { + this.phone = phone; } public Optional getEmail() { return Optional.ofNullable(email); } - public void setAddress(Address address) { - this.address = address; + public void setEmail(Email email) { + this.email = email; } public Optional
getAddress() { return Optional.ofNullable(address); } - /** - * Sets {@code tags} to this object's {@code tags}. - * A defensive copy of {@code tags} is used internally. - */ - public void setTags(Set tags) { - this.tags = (tags != null) ? new HashSet<>(tags) : null; + public void setAddress(Address address) { + this.address = address; } /** @@ -201,6 +182,14 @@ public Optional> getTags() { return (tags != null) ? Optional.of(Collections.unmodifiableSet(tags)) : Optional.empty(); } + /** + * Sets {@code tags} to this object's {@code tags}. + * A defensive copy of {@code tags} is used internally. + */ + public void setTags(Set tags) { + this.tags = (tags != null) ? new HashSet<>(tags) : null; + } + @Override public boolean equals(Object other) { // short circuit if same object diff --git a/src/main/java/seedu/address/logic/commands/FindCommand.java b/src/main/java/seedu/address/logic/commands/FindCommand.java index d6b19b0a0de..1613ebd69ac 100644 --- a/src/main/java/seedu/address/logic/commands/FindCommand.java +++ b/src/main/java/seedu/address/logic/commands/FindCommand.java @@ -1,11 +1,11 @@ package seedu.address.logic.commands; -import static java.util.Objects.requireNonNull; - import seedu.address.commons.core.Messages; import seedu.address.model.Model; import seedu.address.model.person.NameContainsKeywordsPredicate; +import static java.util.Objects.requireNonNull; + /** * Finds and lists all persons in address book whose name contains any of the argument keywords. * Keyword matching is case insensitive. diff --git a/src/main/java/seedu/address/logic/commands/ListCommand.java b/src/main/java/seedu/address/logic/commands/ListCommand.java index 84be6ad2596..6289fc02294 100644 --- a/src/main/java/seedu/address/logic/commands/ListCommand.java +++ b/src/main/java/seedu/address/logic/commands/ListCommand.java @@ -1,10 +1,10 @@ package seedu.address.logic.commands; +import seedu.address.model.Model; + import static java.util.Objects.requireNonNull; import static seedu.address.model.Model.PREDICATE_SHOW_ALL_PERSONS; -import seedu.address.model.Model; - /** * Lists all persons in the address book to the user. */ diff --git a/src/main/java/seedu/address/logic/commands/ListReminder.java b/src/main/java/seedu/address/logic/commands/ListReminder.java new file mode 100644 index 00000000000..4e312c5cec0 --- /dev/null +++ b/src/main/java/seedu/address/logic/commands/ListReminder.java @@ -0,0 +1,24 @@ +package seedu.address.logic.commands; + +import seedu.address.model.Model; +import seedu.address.ui.NotificationManager; + +import static java.util.Objects.requireNonNull; + +public class ListReminder extends Command { + + public static final String COMMAND_WORD = "list_reminder"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Lists all reminders.\n"; + + public static final String MESSAGE_SUCCESS = "Listed all reminders"; + + @Override + public CommandResult execute(Model model) { + requireNonNull(model); + model.getReminderList(); + NotificationManager notification = new NotificationManager(model); + notification.listReminders(); + return new CommandResult(MESSAGE_SUCCESS); + } +} diff --git a/src/main/java/seedu/address/logic/parser/AddCommandParser.java b/src/main/java/seedu/address/logic/parser/AddCommandParser.java index 3b8bfa035e8..8635684ffe7 100644 --- a/src/main/java/seedu/address/logic/parser/AddCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/AddCommandParser.java @@ -1,32 +1,33 @@ package seedu.address.logic.parser; -import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; -import static seedu.address.logic.parser.CliSyntax.PREFIX_ADDRESS; -import static seedu.address.logic.parser.CliSyntax.PREFIX_EMAIL; -import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; -import static seedu.address.logic.parser.CliSyntax.PREFIX_PHONE; -import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG; +import seedu.address.logic.commands.AddCommand; +import seedu.address.logic.parser.exceptions.ParseException; +import seedu.address.model.person.*; +import seedu.address.model.tag.Tag; import java.util.Set; import java.util.stream.Stream; -import seedu.address.logic.commands.AddCommand; -import seedu.address.logic.parser.exceptions.ParseException; -import seedu.address.model.person.Address; -import seedu.address.model.person.Email; -import seedu.address.model.person.Name; -import seedu.address.model.person.Person; -import seedu.address.model.person.Phone; -import seedu.address.model.tag.Tag; +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static seedu.address.logic.parser.CliSyntax.*; /** * Parses input arguments and creates a new AddCommand object */ public class AddCommandParser implements Parser { + /** + * Returns true if none of the prefixes contains empty {@code Optional} values in the given + * {@code ArgumentMultimap}. + */ + private static boolean arePrefixesPresent(ArgumentMultimap argumentMultimap, Prefix... prefixes) { + return Stream.of(prefixes).allMatch(prefix -> argumentMultimap.getValue(prefix).isPresent()); + } + /** * Parses the given {@code String} of arguments in the context of the AddCommand * and returns an AddCommand object for execution. + * * @throws ParseException if the user input does not conform the expected format */ public AddCommand parse(String args) throws ParseException { @@ -49,12 +50,4 @@ public AddCommand parse(String args) throws ParseException { return new AddCommand(person); } - /** - * Returns true if none of the prefixes contains empty {@code Optional} values in the given - * {@code ArgumentMultimap}. - */ - private static boolean arePrefixesPresent(ArgumentMultimap argumentMultimap, Prefix... prefixes) { - return Stream.of(prefixes).allMatch(prefix -> argumentMultimap.getValue(prefix).isPresent()); - } - } diff --git a/src/main/java/seedu/address/logic/parser/AddReminderParser.java b/src/main/java/seedu/address/logic/parser/AddReminderParser.java index 1bc7c8dc35b..70c548755d7 100644 --- a/src/main/java/seedu/address/logic/parser/AddReminderParser.java +++ b/src/main/java/seedu/address/logic/parser/AddReminderParser.java @@ -1,27 +1,32 @@ package seedu.address.logic.parser; import seedu.address.commons.util.DateTimeUtil; -import seedu.address.logic.commands.AddCommand; import seedu.address.logic.commands.AddReminder; import seedu.address.logic.parser.exceptions.ParseException; -import seedu.address.model.person.*; import seedu.address.model.reminder.Reminder; -import seedu.address.model.tag.Tag; import java.time.LocalDateTime; import java.time.format.DateTimeParseException; -import java.util.Set; import java.util.stream.Stream; import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; -import static seedu.address.logic.parser.CliSyntax.*; -import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG; +import static seedu.address.logic.parser.CliSyntax.PREFIX_DESCRIPTION; +import static seedu.address.logic.parser.CliSyntax.PREFIX_TIME; -public class AddReminderParser implements Parser{ +public class AddReminderParser implements Parser { + + /** + * Returns true if none of the prefixes contains empty {@code Optional} values in the given + * {@code ArgumentMultimap}. + */ + private static boolean arePrefixesPresent(ArgumentMultimap argumentMultimap, Prefix... prefixes) { + return Stream.of(prefixes).allMatch(prefix -> argumentMultimap.getValue(prefix).isPresent()); + } /** * Parses the given {@code String} of arguments in the context of the AddReminder * and returns an AddReminder object for execution. + * * @throws ParseException if the user input does not conform the expected format */ @Override @@ -47,12 +52,4 @@ public AddReminder parse(String args) throws ParseException { return new AddReminder(reminder); } - - /** - * Returns true if none of the prefixes contains empty {@code Optional} values in the given - * {@code ArgumentMultimap}. - */ - private static boolean arePrefixesPresent(ArgumentMultimap argumentMultimap, Prefix... prefixes) { - return Stream.of(prefixes).allMatch(prefix -> argumentMultimap.getValue(prefix).isPresent()); - } } diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index 7156b950955..f8f66596fe4 100644 --- a/src/main/java/seedu/address/logic/parser/AddressBookParser.java +++ b/src/main/java/seedu/address/logic/parser/AddressBookParser.java @@ -1,13 +1,13 @@ package seedu.address.logic.parser; -import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; -import static seedu.address.commons.core.Messages.MESSAGE_UNKNOWN_COMMAND; +import seedu.address.logic.commands.*; +import seedu.address.logic.parser.exceptions.ParseException; import java.util.regex.Matcher; import java.util.regex.Pattern; -import seedu.address.logic.commands.*; -import seedu.address.logic.parser.exceptions.ParseException; +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static seedu.address.commons.core.Messages.MESSAGE_UNKNOWN_COMMAND; /** * Parses user input. @@ -63,6 +63,12 @@ public Command parseCommand(String userInput) throws ParseException { case AddReminder.COMMAND_WORD: return new AddReminderParser().parse(arguments); + case ListReminder.COMMAND_WORD: + return new ListReminder(); + + case DeleteReminder.COMMAND_WORD: + return new DeleteReminderParser().parse(arguments); + default: throw new ParseException(MESSAGE_UNKNOWN_COMMAND); } diff --git a/src/main/java/seedu/address/logic/parser/ArgumentMultimap.java b/src/main/java/seedu/address/logic/parser/ArgumentMultimap.java index 954c8e18f8e..ae7d69101e6 100644 --- a/src/main/java/seedu/address/logic/parser/ArgumentMultimap.java +++ b/src/main/java/seedu/address/logic/parser/ArgumentMultimap.java @@ -1,10 +1,6 @@ package seedu.address.logic.parser; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Optional; +import java.util.*; /** * Stores mapping of prefixes to their respective arguments. @@ -15,7 +11,9 @@ */ public class ArgumentMultimap { - /** Prefixes mapped to their respective arguments**/ + /** + * Prefixes mapped to their respective arguments + **/ private final Map> argMultimap = new HashMap<>(); /** diff --git a/src/main/java/seedu/address/logic/parser/ArgumentTokenizer.java b/src/main/java/seedu/address/logic/parser/ArgumentTokenizer.java index 5c9aebfa488..3be8e89059d 100644 --- a/src/main/java/seedu/address/logic/parser/ArgumentTokenizer.java +++ b/src/main/java/seedu/address/logic/parser/ArgumentTokenizer.java @@ -7,11 +7,11 @@ /** * Tokenizes arguments string of the form: {@code preamble value value ...}
- * e.g. {@code some preamble text t/ 11.00 t/12.00 k/ m/ July} where prefixes are {@code t/ k/ m/}.
+ * e.g. {@code some preamble text t/ 11.00 t/12.00 k/ m/ July} where prefixes are {@code t/ k/ m/}.
* 1. An argument's value can be an empty string e.g. the value of {@code k/} in the above example.
* 2. Leading and trailing whitespaces of an argument value will be discarded.
* 3. An argument may be repeated and all its values will be accumulated e.g. the value of {@code t/} - * in the above example.
+ * in the above example.
*/ public class ArgumentTokenizer { @@ -21,7 +21,7 @@ public class ArgumentTokenizer { * * @param argsString Arguments string of the form: {@code preamble value value ...} * @param prefixes Prefixes to tokenize the arguments string with - * @return ArgumentMultimap object that maps prefixes to their arguments + * @return ArgumentMultimap object that maps prefixes to their arguments */ public static ArgumentMultimap tokenize(String argsString, Prefix... prefixes) { List positions = findAllPrefixPositions(argsString, prefixes); @@ -33,7 +33,7 @@ public static ArgumentMultimap tokenize(String argsString, Prefix... prefixes) { * * @param argsString Arguments string of the form: {@code preamble value value ...} * @param prefixes Prefixes to find in the arguments string - * @return List of zero-based prefix positions in the given arguments string + * @return List of zero-based prefix positions in the given arguments string */ private static List findAllPrefixPositions(String argsString, Prefix... prefixes) { return Arrays.stream(prefixes) @@ -62,7 +62,7 @@ private static List findPrefixPositions(String argsString, Prefi * {@code argsString} starting from index {@code fromIndex}. An occurrence * is valid if there is a whitespace before {@code prefix}. Returns -1 if no * such occurrence can be found. - * + *

* E.g if {@code argsString} = "e/hip/900", {@code prefix} = "p/" and * {@code fromIndex} = 0, this method returns -1 as there are no valid * occurrences of "p/" with whitespace before it. However, if @@ -82,7 +82,7 @@ private static int findPrefixPosition(String argsString, String prefix, int from * * @param argsString Arguments string of the form: {@code preamble value value ...} * @param prefixPositions Zero-based positions of all prefixes in {@code argsString} - * @return ArgumentMultimap object that maps prefixes to their arguments + * @return ArgumentMultimap object that maps prefixes to their arguments */ private static ArgumentMultimap extractArguments(String argsString, List prefixPositions) { @@ -114,8 +114,8 @@ private static ArgumentMultimap extractArguments(String argsString, List { /** * Parses the given {@code String} of arguments in the context of the DeleteCommand * and returns a DeleteCommand object for execution. + * * @throws ParseException if the user input does not conform the expected format */ public DeleteCommand parse(String args) throws ParseException { diff --git a/src/main/java/seedu/address/logic/parser/DeleteReminderParser.java b/src/main/java/seedu/address/logic/parser/DeleteReminderParser.java new file mode 100644 index 00000000000..cd3a34889ac --- /dev/null +++ b/src/main/java/seedu/address/logic/parser/DeleteReminderParser.java @@ -0,0 +1,18 @@ +package seedu.address.logic.parser; + +import seedu.address.logic.commands.DeleteReminder; +import seedu.address.logic.parser.exceptions.ParseException; + +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; + +public class DeleteReminderParser implements Parser { + @Override + public DeleteReminder parse(String args) throws ParseException { + try { + return new DeleteReminder(Integer.parseInt(args.trim())); + } catch (NumberFormatException e) { + throw new ParseException( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, DeleteReminder.MESSAGE_USAGE), e); + } + } +} diff --git a/src/main/java/seedu/address/logic/parser/EditCommandParser.java b/src/main/java/seedu/address/logic/parser/EditCommandParser.java index 845644b7dea..2f8024606e2 100644 --- a/src/main/java/seedu/address/logic/parser/EditCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/EditCommandParser.java @@ -1,23 +1,19 @@ package seedu.address.logic.parser; -import static java.util.Objects.requireNonNull; -import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; -import static seedu.address.logic.parser.CliSyntax.PREFIX_ADDRESS; -import static seedu.address.logic.parser.CliSyntax.PREFIX_EMAIL; -import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; -import static seedu.address.logic.parser.CliSyntax.PREFIX_PHONE; -import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG; +import seedu.address.commons.core.index.Index; +import seedu.address.logic.commands.EditCommand; +import seedu.address.logic.commands.EditCommand.EditPersonDescriptor; +import seedu.address.logic.parser.exceptions.ParseException; +import seedu.address.model.tag.Tag; import java.util.Collection; import java.util.Collections; import java.util.Optional; import java.util.Set; -import seedu.address.commons.core.index.Index; -import seedu.address.logic.commands.EditCommand; -import seedu.address.logic.commands.EditCommand.EditPersonDescriptor; -import seedu.address.logic.parser.exceptions.ParseException; -import seedu.address.model.tag.Tag; +import static java.util.Objects.requireNonNull; +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static seedu.address.logic.parser.CliSyntax.*; /** * Parses input arguments and creates a new EditCommand object @@ -27,6 +23,7 @@ public class EditCommandParser implements Parser { /** * Parses the given {@code String} of arguments in the context of the EditCommand * and returns an EditCommand object for execution. + * * @throws ParseException if the user input does not conform the expected format */ public EditCommand parse(String args) throws ParseException { diff --git a/src/main/java/seedu/address/logic/parser/FindCommandParser.java b/src/main/java/seedu/address/logic/parser/FindCommandParser.java index 4fb71f23103..2ca931d3b09 100644 --- a/src/main/java/seedu/address/logic/parser/FindCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/FindCommandParser.java @@ -1,13 +1,13 @@ package seedu.address.logic.parser; -import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; - -import java.util.Arrays; - import seedu.address.logic.commands.FindCommand; import seedu.address.logic.parser.exceptions.ParseException; import seedu.address.model.person.NameContainsKeywordsPredicate; +import java.util.Arrays; + +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; + /** * Parses input arguments and creates a new FindCommand object */ @@ -16,6 +16,7 @@ public class FindCommandParser implements Parser { /** * Parses the given {@code String} of arguments in the context of the FindCommand * and returns a FindCommand object for execution. + * * @throws ParseException if the user input does not conform the expected format */ public FindCommand parse(String args) throws ParseException { diff --git a/src/main/java/seedu/address/logic/parser/Parser.java b/src/main/java/seedu/address/logic/parser/Parser.java index d6551ad8e3f..ce644a9c6fd 100644 --- a/src/main/java/seedu/address/logic/parser/Parser.java +++ b/src/main/java/seedu/address/logic/parser/Parser.java @@ -10,6 +10,7 @@ public interface Parser { /** * Parses {@code userInput} into a command and returns it. + * * @throws ParseException if {@code userInput} does not conform the expected format */ T parse(String userInput) throws ParseException; diff --git a/src/main/java/seedu/address/logic/parser/ParserUtil.java b/src/main/java/seedu/address/logic/parser/ParserUtil.java index b117acb9c55..9e0ca0bbb56 100644 --- a/src/main/java/seedu/address/logic/parser/ParserUtil.java +++ b/src/main/java/seedu/address/logic/parser/ParserUtil.java @@ -1,11 +1,5 @@ package seedu.address.logic.parser; -import static java.util.Objects.requireNonNull; - -import java.util.Collection; -import java.util.HashSet; -import java.util.Set; - import seedu.address.commons.core.index.Index; import seedu.address.commons.util.StringUtil; import seedu.address.logic.parser.exceptions.ParseException; @@ -15,6 +9,12 @@ import seedu.address.model.person.Phone; import seedu.address.model.tag.Tag; +import java.util.Collection; +import java.util.HashSet; +import java.util.Set; + +import static java.util.Objects.requireNonNull; + /** * Contains utility methods used for parsing strings in the various *Parser classes. */ @@ -25,6 +25,7 @@ public class ParserUtil { /** * Parses {@code oneBasedIndex} into an {@code Index} and returns it. Leading and trailing whitespaces will be * trimmed. + * * @throws ParseException if the specified index is invalid (not non-zero unsigned integer). */ public static Index parseIndex(String oneBasedIndex) throws ParseException { diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index a28ead71046..46071a33b37 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -1,15 +1,15 @@ package seedu.address.model; -import static java.util.Objects.requireNonNull; - -import java.util.List; - import javafx.collections.ObservableList; import seedu.address.model.person.Person; import seedu.address.model.person.UniquePersonList; import seedu.address.model.reminder.Reminder; import seedu.address.model.reminder.ReminderList; +import java.util.List; + +import static java.util.Objects.requireNonNull; + /** * Wraps all data at the address-book level * Duplicates are not allowed (by .isSamePerson comparison) @@ -25,13 +25,13 @@ public class AddressBook implements ReadOnlyAddressBook { * * Note that non-static init blocks are not recommended to use. There are other ways to avoid duplication * among constructors. - */ - { + */ { persons = new UniquePersonList(); reminderList = new ReminderList(); } - public AddressBook() {} + public AddressBook() { + } /** * Creates an AddressBook using the Persons in the {@code toBeCopied} @@ -51,10 +51,6 @@ public void setPersons(List persons) { this.persons.setPersons(persons); } - public void setReminderList(List reminderList) { - this.reminderList.setReminderList(reminderList); - } - /** * Resets the existing data of this {@code AddressBook} with {@code newData}. */ @@ -65,8 +61,6 @@ public void resetData(ReadOnlyAddressBook newData) { setReminderList(newData.getReminderList()); } - //// person-level operations - /** * Returns true if a person with the same identity as {@code person} exists in the address book. */ @@ -75,6 +69,8 @@ public boolean hasPerson(Person person) { return persons.contains(person); } + //// person-level operations + /** * Adds a person to the address book. * The person must not already exist in the address book. @@ -101,8 +97,6 @@ public void removePerson(Person key) { persons.remove(key); } - //// reminder-level operations - /** * Adds a reminder to the address book. */ @@ -110,6 +104,8 @@ public void addReminder(Reminder r) { reminderList.add(r); } + //// reminder-level operations + /** * Removes {@code Reminder} from this {@code AddressBook}. * {@code Reminder} must exist in the address book. @@ -118,14 +114,14 @@ public void removeReminder(int i) { reminderList.remove(i); } - //// util methods - @Override public String toString() { return persons.asUnmodifiableObservableList().size() + " persons"; // TODO: refine later } + //// util methods + @Override public ObservableList getPersonList() { return persons.asUnmodifiableObservableList(); @@ -136,6 +132,10 @@ public ObservableList getReminderList() { return reminderList.asUnmodifiableObservableList(); } + public void setReminderList(List reminderList) { + this.reminderList.setReminderList(reminderList); + } + @Override public boolean equals(Object other) { return other == this // short circuit if same object diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index 47236b7a7e7..adef59f6022 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -1,30 +1,32 @@ package seedu.address.model; -import java.nio.file.Path; -import java.util.function.Predicate; - import javafx.collections.ObservableList; import seedu.address.commons.core.GuiSettings; import seedu.address.model.person.Person; import seedu.address.model.reminder.Reminder; +import java.nio.file.Path; +import java.util.function.Predicate; + /** * The API of the Model component. */ public interface Model { - /** {@code Predicate} that always evaluate to true */ - Predicate PREDICATE_SHOW_ALL_PERSONS = unused -> true; - /** - * Replaces user prefs data with the data in {@code userPrefs}. + * {@code Predicate} that always evaluate to true */ - void setUserPrefs(ReadOnlyUserPrefs userPrefs); + Predicate PREDICATE_SHOW_ALL_PERSONS = unused -> true; /** * Returns the user prefs. */ ReadOnlyUserPrefs getUserPrefs(); + /** + * Replaces user prefs data with the data in {@code userPrefs}. + */ + void setUserPrefs(ReadOnlyUserPrefs userPrefs); + /** * Returns the user prefs' GUI settings. */ @@ -45,14 +47,16 @@ public interface Model { */ void setAddressBookFilePath(Path addressBookFilePath); + /** + * Returns the AddressBook + */ + ReadOnlyAddressBook getAddressBook(); + /** * Replaces address book data with the data in {@code addressBook}. */ void setAddressBook(ReadOnlyAddressBook addressBook); - /** Returns the AddressBook */ - ReadOnlyAddressBook getAddressBook(); - /** * Returns true if a person with the same identity as {@code person} exists in the address book. */ @@ -77,11 +81,14 @@ public interface Model { */ void setPerson(Person target, Person editedPerson); - /** Returns an unmodifiable view of the filtered person list */ + /** + * Returns an unmodifiable view of the filtered person list + */ ObservableList getFilteredPersonList(); /** * Updates the filter of the filtered person list to filter by the given {@code predicate}. + * * @throws NullPointerException if {@code predicate} is null. */ void updateFilteredPersonList(Predicate predicate); @@ -97,7 +104,9 @@ public interface Model { */ void addReminder(Reminder reminder); - /** Returns an unmodifiable view of the filtered person list */ + /** + * Returns an unmodifiable view of the filtered person list + */ ObservableList getReminderList(); diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index fc999f930d5..d7e3c1cc115 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -1,19 +1,18 @@ package seedu.address.model; -import static java.util.Objects.requireNonNull; -import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; - -import java.nio.file.Path; -import java.util.function.Predicate; -import java.util.logging.Logger; - import javafx.collections.ObservableList; import javafx.collections.transformation.FilteredList; import seedu.address.commons.core.GuiSettings; import seedu.address.commons.core.LogsCenter; import seedu.address.model.person.Person; import seedu.address.model.reminder.Reminder; -import seedu.address.model.reminder.ReminderList; + +import java.nio.file.Path; +import java.util.function.Predicate; +import java.util.logging.Logger; + +import static java.util.Objects.requireNonNull; +import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; /** @@ -49,14 +48,14 @@ public ModelManager() { //=========== UserPrefs ================================================================================== @Override - public void setUserPrefs(ReadOnlyUserPrefs userPrefs) { - requireNonNull(userPrefs); - this.userPrefs.resetData(userPrefs); + public ReadOnlyUserPrefs getUserPrefs() { + return userPrefs; } @Override - public ReadOnlyUserPrefs getUserPrefs() { - return userPrefs; + public void setUserPrefs(ReadOnlyUserPrefs userPrefs) { + requireNonNull(userPrefs); + this.userPrefs.resetData(userPrefs); } @Override @@ -84,13 +83,13 @@ public void setAddressBookFilePath(Path addressBookFilePath) { //=========== AddressBook ================================================================================ @Override - public void setAddressBook(ReadOnlyAddressBook addressBook) { - this.addressBook.resetData(addressBook); + public ReadOnlyAddressBook getAddressBook() { + return addressBook; } @Override - public ReadOnlyAddressBook getAddressBook() { - return addressBook; + public void setAddressBook(ReadOnlyAddressBook addressBook) { + this.addressBook.resetData(addressBook); } @Override diff --git a/src/main/java/seedu/address/model/ReadOnlyUserPrefs.java b/src/main/java/seedu/address/model/ReadOnlyUserPrefs.java index befd58a4c73..bbd3212b799 100644 --- a/src/main/java/seedu/address/model/ReadOnlyUserPrefs.java +++ b/src/main/java/seedu/address/model/ReadOnlyUserPrefs.java @@ -1,9 +1,9 @@ package seedu.address.model; -import java.nio.file.Path; - import seedu.address.commons.core.GuiSettings; +import java.nio.file.Path; + /** * Unmodifiable view of user prefs. */ diff --git a/src/main/java/seedu/address/model/UserPrefs.java b/src/main/java/seedu/address/model/UserPrefs.java index 25a5fd6eab9..4ad40c13555 100644 --- a/src/main/java/seedu/address/model/UserPrefs.java +++ b/src/main/java/seedu/address/model/UserPrefs.java @@ -1,12 +1,12 @@ package seedu.address.model; -import static java.util.Objects.requireNonNull; +import seedu.address.commons.core.GuiSettings; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Objects; -import seedu.address.commons.core.GuiSettings; +import static java.util.Objects.requireNonNull; /** * Represents User's preferences. @@ -14,12 +14,13 @@ public class UserPrefs implements ReadOnlyUserPrefs { private GuiSettings guiSettings = new GuiSettings(); - private Path addressBookFilePath = Paths.get("data" , "addressbook.json"); + private Path addressBookFilePath = Paths.get("data", "addressbook.json"); /** * Creates a {@code UserPrefs} with default values. */ - public UserPrefs() {} + public UserPrefs() { + } /** * Creates a {@code UserPrefs} with the prefs in {@code userPrefs}. diff --git a/src/main/java/seedu/address/model/person/NameContainsKeywordsPredicate.java b/src/main/java/seedu/address/model/person/NameContainsKeywordsPredicate.java index c9b5868427c..7206c37579a 100644 --- a/src/main/java/seedu/address/model/person/NameContainsKeywordsPredicate.java +++ b/src/main/java/seedu/address/model/person/NameContainsKeywordsPredicate.java @@ -1,10 +1,10 @@ package seedu.address.model.person; +import seedu.address.commons.util.StringUtil; + import java.util.List; import java.util.function.Predicate; -import seedu.address.commons.util.StringUtil; - /** * Tests that a {@code Person}'s {@code Name} matches any of the keywords given. */ diff --git a/src/main/java/seedu/address/model/person/Person.java b/src/main/java/seedu/address/model/person/Person.java index 8ff1d83fe89..4f1abce4ec9 100644 --- a/src/main/java/seedu/address/model/person/Person.java +++ b/src/main/java/seedu/address/model/person/Person.java @@ -1,13 +1,13 @@ package seedu.address.model.person; -import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; +import seedu.address.model.tag.Tag; import java.util.Collections; import java.util.HashSet; import java.util.Objects; import java.util.Set; -import seedu.address.model.tag.Tag; +import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; /** * Represents a Person in the address book. diff --git a/src/main/java/seedu/address/model/person/UniquePersonList.java b/src/main/java/seedu/address/model/person/UniquePersonList.java index 0fee4fe57e6..05bd268c273 100644 --- a/src/main/java/seedu/address/model/person/UniquePersonList.java +++ b/src/main/java/seedu/address/model/person/UniquePersonList.java @@ -1,23 +1,23 @@ package seedu.address.model.person; -import static java.util.Objects.requireNonNull; -import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; - -import java.util.Iterator; -import java.util.List; - import javafx.collections.FXCollections; import javafx.collections.ObservableList; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; +import java.util.Iterator; +import java.util.List; + +import static java.util.Objects.requireNonNull; +import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; + /** * A list of persons that enforces uniqueness between its elements and does not allow nulls. * A person is considered unique by comparing using {@code Person#isSamePerson(Person)}. As such, adding and updating of * persons uses Person#isSamePerson(Person) for equality so as to ensure that the person being added or updated is * unique in terms of identity in the UniquePersonList. However, the removal of a person uses Person#equals(Object) so * as to ensure that the person with exactly the same fields will be removed. - * + *

* Supports a minimal set of list operations. * * @see Person#isSamePerson(Person) @@ -113,7 +113,7 @@ public Iterator iterator() { public boolean equals(Object other) { return other == this // short circuit if same object || (other instanceof UniquePersonList // instanceof handles nulls - && internalList.equals(((UniquePersonList) other).internalList)); + && internalList.equals(((UniquePersonList) other).internalList)); } @Override diff --git a/src/main/java/seedu/address/model/person/exceptions/PersonNotFoundException.java b/src/main/java/seedu/address/model/person/exceptions/PersonNotFoundException.java index fa764426ca7..588cfb5fbf8 100644 --- a/src/main/java/seedu/address/model/person/exceptions/PersonNotFoundException.java +++ b/src/main/java/seedu/address/model/person/exceptions/PersonNotFoundException.java @@ -3,4 +3,5 @@ /** * Signals that the operation is unable to find the specified person. */ -public class PersonNotFoundException extends RuntimeException {} +public class PersonNotFoundException extends RuntimeException { +} diff --git a/src/main/java/seedu/address/model/reminder/ReminderList.java b/src/main/java/seedu/address/model/reminder/ReminderList.java index 19abb36ad4e..93a03729b83 100644 --- a/src/main/java/seedu/address/model/reminder/ReminderList.java +++ b/src/main/java/seedu/address/model/reminder/ReminderList.java @@ -11,12 +11,11 @@ /** * A list of reminders that does not allow nulls. - * + *

* Supports a minimal set of list operations. - * */ -public class ReminderList implements Iterable{ +public class ReminderList implements Iterable { private final ObservableList internalList = FXCollections.observableArrayList(); private final ObservableList internalUnmodifiableList = FXCollections.unmodifiableObservableList(internalList); @@ -42,6 +41,7 @@ public void setReminderList(ReminderList replacement) { requireNonNull(replacement); internalList.setAll(replacement.internalList); } + /** * Replaces the contents of this list with {@code reminderList}. */ @@ -63,5 +63,4 @@ public Iterator iterator() { } - } diff --git a/src/main/java/seedu/address/model/util/SampleDataUtil.java b/src/main/java/seedu/address/model/util/SampleDataUtil.java index 1806da4facf..fec7ea718d6 100644 --- a/src/main/java/seedu/address/model/util/SampleDataUtil.java +++ b/src/main/java/seedu/address/model/util/SampleDataUtil.java @@ -1,42 +1,38 @@ package seedu.address.model.util; -import java.util.Arrays; -import java.util.Set; -import java.util.stream.Collectors; - import seedu.address.model.AddressBook; import seedu.address.model.ReadOnlyAddressBook; -import seedu.address.model.person.Address; -import seedu.address.model.person.Email; -import seedu.address.model.person.Name; -import seedu.address.model.person.Person; -import seedu.address.model.person.Phone; +import seedu.address.model.person.*; import seedu.address.model.tag.Tag; +import java.util.Arrays; +import java.util.Set; +import java.util.stream.Collectors; + /** * Contains utility methods for populating {@code AddressBook} with sample data. */ public class SampleDataUtil { public static Person[] getSamplePersons() { - return new Person[] { - new Person(new Name("Alex Yeoh"), new Phone("87438807"), new Email("alexyeoh@example.com"), - new Address("Blk 30 Geylang Street 29, #06-40"), - getTagSet("friends")), - new Person(new Name("Bernice Yu"), new Phone("99272758"), new Email("berniceyu@example.com"), - new Address("Blk 30 Lorong 3 Serangoon Gardens, #07-18"), - getTagSet("colleagues", "friends")), - new Person(new Name("Charlotte Oliveiro"), new Phone("93210283"), new Email("charlotte@example.com"), - new Address("Blk 11 Ang Mo Kio Street 74, #11-04"), - getTagSet("neighbours")), - new Person(new Name("David Li"), new Phone("91031282"), new Email("lidavid@example.com"), - new Address("Blk 436 Serangoon Gardens Street 26, #16-43"), - getTagSet("family")), - new Person(new Name("Irfan Ibrahim"), new Phone("92492021"), new Email("irfan@example.com"), - new Address("Blk 47 Tampines Street 20, #17-35"), - getTagSet("classmates")), - new Person(new Name("Roy Balakrishnan"), new Phone("92624417"), new Email("royb@example.com"), - new Address("Blk 45 Aljunied Street 85, #11-31"), - getTagSet("colleagues")) + return new Person[]{ + new Person(new Name("Alex Yeoh"), new Phone("87438807"), new Email("alexyeoh@example.com"), + new Address("Blk 30 Geylang Street 29, #06-40"), + getTagSet("friends")), + new Person(new Name("Bernice Yu"), new Phone("99272758"), new Email("berniceyu@example.com"), + new Address("Blk 30 Lorong 3 Serangoon Gardens, #07-18"), + getTagSet("colleagues", "friends")), + new Person(new Name("Charlotte Oliveiro"), new Phone("93210283"), new Email("charlotte@example.com"), + new Address("Blk 11 Ang Mo Kio Street 74, #11-04"), + getTagSet("neighbours")), + new Person(new Name("David Li"), new Phone("91031282"), new Email("lidavid@example.com"), + new Address("Blk 436 Serangoon Gardens Street 26, #16-43"), + getTagSet("family")), + new Person(new Name("Irfan Ibrahim"), new Phone("92492021"), new Email("irfan@example.com"), + new Address("Blk 47 Tampines Street 20, #17-35"), + getTagSet("classmates")), + new Person(new Name("Roy Balakrishnan"), new Phone("92624417"), new Email("royb@example.com"), + new Address("Blk 45 Aljunied Street 85, #11-31"), + getTagSet("colleagues")) }; } diff --git a/src/main/java/seedu/address/storage/AddressBookStorage.java b/src/main/java/seedu/address/storage/AddressBookStorage.java index 4599182b3f9..f5652b58446 100644 --- a/src/main/java/seedu/address/storage/AddressBookStorage.java +++ b/src/main/java/seedu/address/storage/AddressBookStorage.java @@ -1,12 +1,12 @@ package seedu.address.storage; +import seedu.address.commons.exceptions.DataConversionException; +import seedu.address.model.ReadOnlyAddressBook; + import java.io.IOException; import java.nio.file.Path; import java.util.Optional; -import seedu.address.commons.exceptions.DataConversionException; -import seedu.address.model.ReadOnlyAddressBook; - /** * Represents a storage for {@link seedu.address.model.AddressBook}. */ @@ -19,9 +19,10 @@ public interface AddressBookStorage { /** * Returns AddressBook data as a {@link ReadOnlyAddressBook}. - * Returns {@code Optional.empty()} if storage file is not found. + * Returns {@code Optional.empty()} if storage file is not found. + * * @throws DataConversionException if the data in storage is not in the expected format. - * @throws IOException if there was any problem when reading from the storage. + * @throws IOException if there was any problem when reading from the storage. */ Optional readAddressBook() throws DataConversionException, IOException; @@ -32,6 +33,7 @@ public interface AddressBookStorage { /** * Saves the given {@link ReadOnlyAddressBook} to the storage. + * * @param addressBook cannot be null. * @throws IOException if there was any problem writing to the file. */ diff --git a/src/main/java/seedu/address/storage/JsonAdaptedPerson.java b/src/main/java/seedu/address/storage/JsonAdaptedPerson.java index a6321cec2ea..308715f6a27 100644 --- a/src/main/java/seedu/address/storage/JsonAdaptedPerson.java +++ b/src/main/java/seedu/address/storage/JsonAdaptedPerson.java @@ -1,22 +1,17 @@ package seedu.address.storage; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import seedu.address.commons.exceptions.IllegalValueException; +import seedu.address.model.person.*; +import seedu.address.model.tag.Tag; + import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.stream.Collectors; -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonProperty; - -import seedu.address.commons.exceptions.IllegalValueException; -import seedu.address.model.person.Address; -import seedu.address.model.person.Email; -import seedu.address.model.person.Name; -import seedu.address.model.person.Person; -import seedu.address.model.person.Phone; -import seedu.address.model.tag.Tag; - /** * Jackson-friendly version of {@link Person}. */ @@ -35,8 +30,8 @@ class JsonAdaptedPerson { */ @JsonCreator public JsonAdaptedPerson(@JsonProperty("name") String name, @JsonProperty("phone") String phone, - @JsonProperty("email") String email, @JsonProperty("address") String address, - @JsonProperty("tagged") List tagged) { + @JsonProperty("email") String email, @JsonProperty("address") String address, + @JsonProperty("tagged") List tagged) { this.name = name; this.phone = phone; this.email = email; diff --git a/src/main/java/seedu/address/storage/JsonAdaptedTag.java b/src/main/java/seedu/address/storage/JsonAdaptedTag.java index 0df22bdb754..dd5ad9399c7 100644 --- a/src/main/java/seedu/address/storage/JsonAdaptedTag.java +++ b/src/main/java/seedu/address/storage/JsonAdaptedTag.java @@ -2,7 +2,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; - import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.model.tag.Tag; diff --git a/src/main/java/seedu/address/storage/JsonAddressBookStorage.java b/src/main/java/seedu/address/storage/JsonAddressBookStorage.java index dfab9daaa0d..30a871a085d 100644 --- a/src/main/java/seedu/address/storage/JsonAddressBookStorage.java +++ b/src/main/java/seedu/address/storage/JsonAddressBookStorage.java @@ -1,12 +1,5 @@ package seedu.address.storage; -import static java.util.Objects.requireNonNull; - -import java.io.IOException; -import java.nio.file.Path; -import java.util.Optional; -import java.util.logging.Logger; - import seedu.address.commons.core.LogsCenter; import seedu.address.commons.exceptions.DataConversionException; import seedu.address.commons.exceptions.IllegalValueException; @@ -14,6 +7,13 @@ import seedu.address.commons.util.JsonUtil; import seedu.address.model.ReadOnlyAddressBook; +import java.io.IOException; +import java.nio.file.Path; +import java.util.Optional; +import java.util.logging.Logger; + +import static java.util.Objects.requireNonNull; + /** * A class to access AddressBook data stored as a json file on the hard disk. */ diff --git a/src/main/java/seedu/address/storage/JsonSerializableAddressBook.java b/src/main/java/seedu/address/storage/JsonSerializableAddressBook.java index f4cd80d5179..b35f27febbe 100644 --- a/src/main/java/seedu/address/storage/JsonSerializableAddressBook.java +++ b/src/main/java/seedu/address/storage/JsonSerializableAddressBook.java @@ -1,19 +1,18 @@ package seedu.address.storage; -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; - import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonRootName; - import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.model.AddressBook; import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.person.Person; import seedu.address.model.reminder.Reminder; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + /** * An Immutable AddressBook that is serializable to JSON format. */ diff --git a/src/main/java/seedu/address/storage/JsonUserPrefsStorage.java b/src/main/java/seedu/address/storage/JsonUserPrefsStorage.java index bc2bbad84aa..208bd7def84 100644 --- a/src/main/java/seedu/address/storage/JsonUserPrefsStorage.java +++ b/src/main/java/seedu/address/storage/JsonUserPrefsStorage.java @@ -1,14 +1,14 @@ package seedu.address.storage; -import java.io.IOException; -import java.nio.file.Path; -import java.util.Optional; - import seedu.address.commons.exceptions.DataConversionException; import seedu.address.commons.util.JsonUtil; import seedu.address.model.ReadOnlyUserPrefs; import seedu.address.model.UserPrefs; +import java.io.IOException; +import java.nio.file.Path; +import java.util.Optional; + /** * A class to access UserPrefs stored in the hard disk as a json file */ @@ -32,6 +32,7 @@ public Optional readUserPrefs() throws DataConversionException { /** * Similar to {@link #readUserPrefs()} + * * @param prefsFilePath location of the data. Cannot be null. * @throws DataConversionException if the file format is not as expected. */ diff --git a/src/main/java/seedu/address/storage/Storage.java b/src/main/java/seedu/address/storage/Storage.java index beda8bd9f11..460e13e22d1 100644 --- a/src/main/java/seedu/address/storage/Storage.java +++ b/src/main/java/seedu/address/storage/Storage.java @@ -1,14 +1,14 @@ package seedu.address.storage; -import java.io.IOException; -import java.nio.file.Path; -import java.util.Optional; - import seedu.address.commons.exceptions.DataConversionException; import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.ReadOnlyUserPrefs; import seedu.address.model.UserPrefs; +import java.io.IOException; +import java.nio.file.Path; +import java.util.Optional; + /** * API of the Storage component */ diff --git a/src/main/java/seedu/address/storage/StorageManager.java b/src/main/java/seedu/address/storage/StorageManager.java index 8ca5db75d8f..e80ab6ce326 100644 --- a/src/main/java/seedu/address/storage/StorageManager.java +++ b/src/main/java/seedu/address/storage/StorageManager.java @@ -1,14 +1,16 @@ package seedu.address.storage; +import seedu.address.commons.core.LogsCenter; +import seedu.address.commons.exceptions.DataConversionException; +import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.ReadOnlyUserPrefs; +import seedu.address.model.UserPrefs; + import java.io.IOException; import java.nio.file.Path; import java.util.Optional; import java.util.logging.Logger; -import seedu.address.commons.core.LogsCenter; -import seedu.address.commons.exceptions.DataConversionException; -import seedu.address.model.*; - /** * Manages storage of AddressBook data in local storage. */ diff --git a/src/main/java/seedu/address/storage/UserPrefsStorage.java b/src/main/java/seedu/address/storage/UserPrefsStorage.java index 29eef178dbc..31308e8ffbd 100644 --- a/src/main/java/seedu/address/storage/UserPrefsStorage.java +++ b/src/main/java/seedu/address/storage/UserPrefsStorage.java @@ -1,13 +1,13 @@ package seedu.address.storage; -import java.io.IOException; -import java.nio.file.Path; -import java.util.Optional; - import seedu.address.commons.exceptions.DataConversionException; import seedu.address.model.ReadOnlyUserPrefs; import seedu.address.model.UserPrefs; +import java.io.IOException; +import java.nio.file.Path; +import java.util.Optional; + /** * Represents a storage for {@link seedu.address.model.UserPrefs}. */ @@ -20,14 +20,16 @@ public interface UserPrefsStorage { /** * Returns UserPrefs data from storage. - * Returns {@code Optional.empty()} if storage file is not found. + * Returns {@code Optional.empty()} if storage file is not found. + * * @throws DataConversionException if the data in storage is not in the expected format. - * @throws IOException if there was any problem when reading from the storage. + * @throws IOException if there was any problem when reading from the storage. */ Optional readUserPrefs() throws DataConversionException, IOException; /** * Saves the given {@link seedu.address.model.ReadOnlyUserPrefs} to the storage. + * * @param userPrefs cannot be null. * @throws IOException if there was any problem writing to the file. */ diff --git a/src/main/java/seedu/address/ui/HelpWindow.java b/src/main/java/seedu/address/ui/HelpWindow.java index 3f16b2fcf26..1855341e904 100644 --- a/src/main/java/seedu/address/ui/HelpWindow.java +++ b/src/main/java/seedu/address/ui/HelpWindow.java @@ -1,7 +1,5 @@ package seedu.address.ui; -import java.util.logging.Logger; - import javafx.fxml.FXML; import javafx.scene.control.Button; import javafx.scene.control.Label; @@ -10,6 +8,8 @@ import javafx.stage.Stage; import seedu.address.commons.core.LogsCenter; +import java.util.logging.Logger; + /** * Controller for a help page */ @@ -46,21 +46,21 @@ public HelpWindow() { /** * Shows the help window. - * @throws IllegalStateException - *

    - *
  • - * if this method is called on a thread other than the JavaFX Application Thread. - *
  • - *
  • - * if this method is called during animation or layout processing. - *
  • - *
  • - * if this method is called on the primary stage. - *
  • - *
  • - * if {@code dialogStage} is already showing. - *
  • - *
+ * + * @throws IllegalStateException
    + *
  • + * if this method is called on a thread other than the JavaFX Application Thread. + *
  • + *
  • + * if this method is called during animation or layout processing. + *
  • + *
  • + * if this method is called on the primary stage. + *
  • + *
  • + * if {@code dialogStage} is already showing. + *
  • + *
*/ public void show() { logger.fine("Showing help page about the application."); diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java index 9106c3aa6e5..c4b01990678 100644 --- a/src/main/java/seedu/address/ui/MainWindow.java +++ b/src/main/java/seedu/address/ui/MainWindow.java @@ -1,7 +1,5 @@ package seedu.address.ui; -import java.util.logging.Logger; - import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.scene.control.MenuItem; @@ -17,6 +15,8 @@ import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.logic.parser.exceptions.ParseException; +import java.util.logging.Logger; + /** * The Main Window. Provides the basic application layout containing * a menu bar and space where other JavaFX elements can be placed. @@ -78,6 +78,7 @@ private void setAccelerators() { /** * Sets the accelerator of a MenuItem. + * * @param keyCombination the KeyCombination value of the accelerator */ private void setAccelerator(MenuItem menuItem, KeyCombination keyCombination) { diff --git a/src/main/java/seedu/address/ui/NotificationManager.java b/src/main/java/seedu/address/ui/NotificationManager.java index f8083deb6e6..04585535329 100644 --- a/src/main/java/seedu/address/ui/NotificationManager.java +++ b/src/main/java/seedu/address/ui/NotificationManager.java @@ -4,7 +4,7 @@ import javafx.util.Duration; import org.controlsfx.control.Notifications; import seedu.address.logic.Logic; -import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.Model; import seedu.address.model.reminder.Reminder; import java.time.LocalDateTime; @@ -13,6 +13,8 @@ public class NotificationManager { private Logic logic; + private Model model; + private List reminderList; private String title = ""; private String text = ""; private Duration duration; @@ -27,6 +29,12 @@ public NotificationManager(String title, String text) { public NotificationManager(Logic logic) { this.logic = logic; + this.reminderList = logic.getReminderList(); + } + + public NotificationManager(Model model) { + this.model = model; + this.reminderList = model.getReminderList(); } public void showDefault() { @@ -40,20 +48,27 @@ public void showDefault() { notificationBuilder.showConfirm(); } - - public void showReminders() { - ReadOnlyAddressBook addressBook = logic.getAddressBook(); - List reminderList = addressBook.getReminderList(); + public void checkReminders() { LocalDateTime now = LocalDateTime.now(); - for (int i = 0; i< reminderList.size();i++) { + for (int i = 0; i < reminderList.size(); i++) { Reminder r = reminderList.get(i); if (now.isAfter(r.getReminderDateTime())) { - String des = (i+1) + ". " + r.getDescription(); + String des = (i + 1) + ". " + r.getDescription(); String remind = "Remind at: " + r.reminderDateTimeToString(); show(des, remind); } } } + + public void listReminders() { + for (int i = 0; i < reminderList.size(); i++) { + Reminder r = reminderList.get(i); + String des = (i + 1) + ". " + r.getDescription(); + String remind = "Remind at: " + r.reminderDateTimeToString(); + show(des, remind); + } + } + public void show(String title, String text) { //show notifications Notifications notificationBuilder = Notifications.create() @@ -65,4 +80,4 @@ public void show(String title, String text) { notificationBuilder.showConfirm(); } -} +} \ No newline at end of file diff --git a/src/main/java/seedu/address/ui/PersonCard.java b/src/main/java/seedu/address/ui/PersonCard.java index 7fc927bc5d9..d952aba4992 100644 --- a/src/main/java/seedu/address/ui/PersonCard.java +++ b/src/main/java/seedu/address/ui/PersonCard.java @@ -1,7 +1,5 @@ package seedu.address.ui; -import java.util.Comparator; - import javafx.fxml.FXML; import javafx.scene.control.Label; import javafx.scene.layout.FlowPane; @@ -9,6 +7,8 @@ import javafx.scene.layout.Region; import seedu.address.model.person.Person; +import java.util.Comparator; + /** * An UI component that displays information of a {@code Person}. */ diff --git a/src/main/java/seedu/address/ui/PersonListPanel.java b/src/main/java/seedu/address/ui/PersonListPanel.java index f4c501a897b..0f97b2848c6 100644 --- a/src/main/java/seedu/address/ui/PersonListPanel.java +++ b/src/main/java/seedu/address/ui/PersonListPanel.java @@ -1,7 +1,5 @@ package seedu.address.ui; -import java.util.logging.Logger; - import javafx.collections.ObservableList; import javafx.fxml.FXML; import javafx.scene.control.ListCell; @@ -10,6 +8,8 @@ import seedu.address.commons.core.LogsCenter; import seedu.address.model.person.Person; +import java.util.logging.Logger; + /** * Panel containing the list of persons. */ diff --git a/src/main/java/seedu/address/ui/ResultDisplay.java b/src/main/java/seedu/address/ui/ResultDisplay.java index 7d98e84eedf..51ac57ffd0c 100644 --- a/src/main/java/seedu/address/ui/ResultDisplay.java +++ b/src/main/java/seedu/address/ui/ResultDisplay.java @@ -1,11 +1,11 @@ package seedu.address.ui; -import static java.util.Objects.requireNonNull; - import javafx.fxml.FXML; import javafx.scene.control.TextArea; import javafx.scene.layout.Region; +import static java.util.Objects.requireNonNull; + /** * A ui for the status bar that is displayed at the header of the application. */ diff --git a/src/main/java/seedu/address/ui/StatusBarFooter.java b/src/main/java/seedu/address/ui/StatusBarFooter.java index b577f829423..deaecb0c138 100644 --- a/src/main/java/seedu/address/ui/StatusBarFooter.java +++ b/src/main/java/seedu/address/ui/StatusBarFooter.java @@ -1,12 +1,12 @@ package seedu.address.ui; -import java.nio.file.Path; -import java.nio.file.Paths; - import javafx.fxml.FXML; import javafx.scene.control.Label; import javafx.scene.layout.Region; +import java.nio.file.Path; +import java.nio.file.Paths; + /** * A ui for the status bar that is displayed at the footer of the application. */ diff --git a/src/main/java/seedu/address/ui/Ui.java b/src/main/java/seedu/address/ui/Ui.java index 17aa0b494fe..e28dae7e990 100644 --- a/src/main/java/seedu/address/ui/Ui.java +++ b/src/main/java/seedu/address/ui/Ui.java @@ -7,7 +7,9 @@ */ public interface Ui { - /** Starts the UI (and the App). */ + /** + * Starts the UI (and the App). + */ void start(Stage primaryStage); } diff --git a/src/main/java/seedu/address/ui/UiManager.java b/src/main/java/seedu/address/ui/UiManager.java index 5a14002fd97..4153ac6a739 100644 --- a/src/main/java/seedu/address/ui/UiManager.java +++ b/src/main/java/seedu/address/ui/UiManager.java @@ -1,19 +1,16 @@ package seedu.address.ui; -import java.util.logging.Logger; - import javafx.application.Platform; -import javafx.geometry.Pos; import javafx.scene.control.Alert; import javafx.scene.control.Alert.AlertType; import javafx.scene.image.Image; import javafx.stage.Stage; -import javafx.util.Duration; import seedu.address.MainApp; import seedu.address.commons.core.LogsCenter; import seedu.address.commons.util.StringUtil; import seedu.address.logic.Logic; -import org.controlsfx.control.Notifications; + +import java.util.logging.Logger; /** * The manager of the UI component. @@ -35,6 +32,22 @@ public UiManager(Logic logic) { this.logic = logic; } + /** + * Shows an alert dialog on {@code owner} with the given parameters. + * This method only returns after the user has closed the alert dialog. + */ + private static void showAlertDialogAndWait(Stage owner, AlertType type, String title, String headerText, + String contentText) { + final Alert alert = new Alert(type); + alert.getDialogPane().getStylesheets().add("view/DarkTheme.css"); + alert.initOwner(owner); + alert.setTitle(title); + alert.setHeaderText(headerText); + alert.setContentText(contentText); + alert.getDialogPane().setId(ALERT_DIALOG_PANE_FIELD_ID); + alert.showAndWait(); + } + @Override public void start(Stage primaryStage) { logger.info("Starting UI..."); @@ -48,7 +61,7 @@ public void start(Stage primaryStage) { mainWindow.fillInnerParts(); NotificationManager notification = new NotificationManager(logic); - notification.showReminders(); + notification.checkReminders(); } catch (Throwable e) { logger.severe(StringUtil.getDetails(e)); @@ -56,7 +69,6 @@ public void start(Stage primaryStage) { } } - private Image getImage(String imagePath) { return new Image(MainApp.class.getResourceAsStream(imagePath)); } @@ -65,22 +77,6 @@ void showAlertDialogAndWait(Alert.AlertType type, String title, String headerTex showAlertDialogAndWait(mainWindow.getPrimaryStage(), type, title, headerText, contentText); } - /** - * Shows an alert dialog on {@code owner} with the given parameters. - * This method only returns after the user has closed the alert dialog. - */ - private static void showAlertDialogAndWait(Stage owner, AlertType type, String title, String headerText, - String contentText) { - final Alert alert = new Alert(type); - alert.getDialogPane().getStylesheets().add("view/DarkTheme.css"); - alert.initOwner(owner); - alert.setTitle(title); - alert.setHeaderText(headerText); - alert.setContentText(contentText); - alert.getDialogPane().setId(ALERT_DIALOG_PANE_FIELD_ID); - alert.showAndWait(); - } - /** * Shows an error alert dialog with {@code title} and error message, {@code e}, * and exits the application after the user has closed the alert dialog. diff --git a/src/main/java/seedu/address/ui/UiPart.java b/src/main/java/seedu/address/ui/UiPart.java index fc820e01a9c..3d36bc17554 100644 --- a/src/main/java/seedu/address/ui/UiPart.java +++ b/src/main/java/seedu/address/ui/UiPart.java @@ -1,12 +1,12 @@ package seedu.address.ui; -import static java.util.Objects.requireNonNull; +import javafx.fxml.FXMLLoader; +import seedu.address.MainApp; import java.io.IOException; import java.net.URL; -import javafx.fxml.FXMLLoader; -import seedu.address.MainApp; +import static java.util.Objects.requireNonNull; /** * Represents a distinct part of the UI. e.g. Windows, dialogs, panels, status bars, etc. @@ -14,7 +14,9 @@ */ public abstract class UiPart { - /** Resource folder where FXML files are stored. */ + /** + * Resource folder where FXML files are stored. + */ public static final String FXML_FILE_FOLDER = "/view/"; private final FXMLLoader fxmlLoader = new FXMLLoader(); @@ -29,6 +31,7 @@ public UiPart(URL fxmlFileUrl) { /** * Constructs a UiPart using the specified FXML file within {@link #FXML_FILE_FOLDER}. + * * @see #UiPart(URL) */ public UiPart(String fxmlFileName) { @@ -45,12 +48,23 @@ public UiPart(URL fxmlFileUrl, T root) { /** * Constructs a UiPart with the specified FXML file within {@link #FXML_FILE_FOLDER} and root object. + * * @see #UiPart(URL, T) */ public UiPart(String fxmlFileName, T root) { this(getFxmlFileUrl(fxmlFileName), root); } + /** + * Returns the FXML file URL for the specified FXML file name within {@link #FXML_FILE_FOLDER}. + */ + private static URL getFxmlFileUrl(String fxmlFileName) { + requireNonNull(fxmlFileName); + String fxmlFileNameWithFolder = FXML_FILE_FOLDER + fxmlFileName; + URL fxmlFileUrl = MainApp.class.getResource(fxmlFileNameWithFolder); + return requireNonNull(fxmlFileUrl); + } + /** * Returns the root object of the scene graph of this UiPart. */ @@ -60,8 +74,9 @@ public T getRoot() { /** * Loads the object hierarchy from a FXML document. + * * @param location Location of the FXML document. - * @param root Specifies the root of the object hierarchy. + * @param root Specifies the root of the object hierarchy. */ private void loadFxmlFile(URL location, T root) { requireNonNull(location); @@ -75,14 +90,4 @@ private void loadFxmlFile(URL location, T root) { } } - /** - * Returns the FXML file URL for the specified FXML file name within {@link #FXML_FILE_FOLDER}. - */ - private static URL getFxmlFileUrl(String fxmlFileName) { - requireNonNull(fxmlFileName); - String fxmlFileNameWithFolder = FXML_FILE_FOLDER + fxmlFileName; - URL fxmlFileUrl = MainApp.class.getResource(fxmlFileNameWithFolder); - return requireNonNull(fxmlFileUrl); - } - } From 8bff774d6bdfcd716cdea23c54a8d3c94c82a3b2 Mon Sep 17 00:00:00 2001 From: ChinJunAn Date: Sat, 11 Mar 2023 23:18:26 +0800 Subject: [PATCH 079/470] Correct CI error --- docs/team/c0j0s.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/team/c0j0s.md b/docs/team/c0j0s.md index 67acdfbc43b..1b8a69acbe8 100644 --- a/docs/team/c0j0s.md +++ b/docs/team/c0j0s.md @@ -25,12 +25,12 @@ Given below are my contributions to the project. * User Guide: * Added documentation for the delivery tasking management system features `view` and `add`. * Developer Guide: - * + * * **Community**: - * + * * **Tools**: - * + * * _{you can add/remove categories in the list above}_ From a2f371c3941e58f75d5d175f37095db9d80e33b3 Mon Sep 17 00:00:00 2001 From: c0j0s Date: Sat, 11 Mar 2023 23:42:27 +0800 Subject: [PATCH 080/470] Add create and delete job interface in model manager --- .../address/model/DeliveryJobSystem.java | 47 ++++++++++++++- src/main/java/seedu/address/model/Model.java | 14 ++++- .../seedu/address/model/ModelManager.java | 50 +++++++++++++--- .../model/jobs/UniqueDeliveryList.java | 60 +++++++++++++++++-- .../logic/commands/AddCommandTest.java | 37 ++++++++++++ .../address/model/DeliveryJobSystemTest.java | 26 +++++++- .../seedu/address/model/ModelManagerTest.java | 1 + 7 files changed, 215 insertions(+), 20 deletions(-) diff --git a/src/main/java/seedu/address/model/DeliveryJobSystem.java b/src/main/java/seedu/address/model/DeliveryJobSystem.java index c827a3890ab..4ba2e02bcad 100644 --- a/src/main/java/seedu/address/model/DeliveryJobSystem.java +++ b/src/main/java/seedu/address/model/DeliveryJobSystem.java @@ -1,5 +1,7 @@ package seedu.address.model; +import static java.util.Objects.requireNonNull; + import javafx.collections.ObservableList; import seedu.address.model.jobs.DeliveryJob; import seedu.address.model.jobs.UniqueDeliveryList; @@ -27,7 +29,33 @@ public DeliveryJobSystem() {} */ public DeliveryJobSystem(ReadOnlyDeliveryJobSystem deliveryJobSystem) { this(); - //TODO: resetData(deliveryJobSystem) + resetData(deliveryJobSystem); + } + + /** + * resetData + * + * @param newData + */ + public void resetData(ReadOnlyDeliveryJobSystem newData) { + requireNonNull(newData); + setDeliveryJob(newData.getDeliveryJobList()); + } + + private void setDeliveryJob(ObservableList deliveryJobList) { + this.jobs.setDeliveryJob(deliveryJobList); + } + + /** + * setDeliveryJob + * + * @param target + * @param editedJob + */ + public void setDeliveryJob(DeliveryJob target, DeliveryJob editedJob) { + requireNonNull(editedJob); + + jobs.setDeliveryJob(target, editedJob); } /** @@ -45,4 +73,21 @@ public ObservableList getDeliveryJobList() { public void addDeliveryJob(DeliveryJob job) { jobs.add(job); } + + /** + * removeDeliveryJob + * + * @param key + */ + public void removeDeliveryJob(DeliveryJob key) { + jobs.remove(key); + } + + /** + * Returns true if a person with the same identity as {@code person} exists in the address book. + */ + public boolean hasDeliveryJob(DeliveryJob job) { + requireNonNull(job); + return jobs.contains(job); + } } diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index b59fffc9a23..94934e4885e 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -14,7 +14,7 @@ public interface Model { /** {@code Predicate} that always evaluate to true */ Predicate PREDICATE_SHOW_ALL_PERSONS = unused -> true; - Predicate PREDICATE_SHOW_ALL_DELIVERY_JOBS = unused -> true; + Predicate PREDICATE_SHOW_ALL_DELIVERY_JOBS = unused -> true; /** * Replaces user prefs data with the data in {@code userPrefs}. @@ -87,6 +87,18 @@ public interface Model { */ void updateFilteredPersonList(Predicate predicate); + void setDeliveryJobSystem(ReadOnlyDeliveryJobSystem jobSystem); + + ReadOnlyDeliveryJobSystem getDeliveryJobSystem(); + + boolean hasDeliveryJob(DeliveryJob job); + + void deleteDeliveryJob(DeliveryJob target); + + void addDeliveryJob(DeliveryJob job); + + void setDeliveryJob(DeliveryJob target, DeliveryJob editedJob); + ObservableList getDeliveryJobList(); void updateFilteredDeliveryJobList(Predicate predicate); diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index f0e2420d8dc..bd9750ed8de 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -37,7 +37,7 @@ public ModelManager(ReadOnlyAddressBook addressBook, ReadOnlyUserPrefs userPrefs this.addressBook = new AddressBook(addressBook); this.deliveryJobSystem = null; this.userPrefs = new UserPrefs(userPrefs); - filteredPersons = new FilteredList<>(this.addressBook.getPersonList()); + this.filteredPersons = new FilteredList<>(this.addressBook.getPersonList()); this.filteredDeliveryJobs = null; } @@ -69,8 +69,7 @@ public ModelManager() { // this(new AddressBook(), new DeliveryJobSystem(), new UserPrefs()); } - // =========== UserPrefs - // ================================================================================== + // UserPrefs =================================================================== @Override public void setUserPrefs(ReadOnlyUserPrefs userPrefs) { @@ -105,8 +104,7 @@ public void setAddressBookFilePath(Path addressBookFilePath) { userPrefs.setAddressBookFilePath(addressBookFilePath); } - // =========== AddressBook - // ================================================================================ + // AddressBook =============================================================== @Override public void setAddressBook(ReadOnlyAddressBook addressBook) { @@ -142,8 +140,7 @@ public void setPerson(Person target, Person editedPerson) { addressBook.setPerson(target, editedPerson); } - // =========== Filtered Person List Accessors - // ============================================================= + // =========== Filtered Person List Accessors ================== /** * Returns an unmodifiable view of the list of {@code Person} backed by the @@ -161,8 +158,43 @@ public void updateFilteredPersonList(Predicate predicate) { filteredPersons.setPredicate(predicate); } - // =========== Filtered Delivery Job List Accessors - // ============================================================= + // DeliveryJob System ===================================================== + + @Override + public void setDeliveryJobSystem(ReadOnlyDeliveryJobSystem jobSystem) { + this.deliveryJobSystem.resetData(jobSystem); + } + + @Override + public ReadOnlyDeliveryJobSystem getDeliveryJobSystem() { + return deliveryJobSystem; + } + + @Override + public boolean hasDeliveryJob(DeliveryJob job) { + requireNonNull(job); + return deliveryJobSystem.hasDeliveryJob(job); + } + + @Override + public void deleteDeliveryJob(DeliveryJob target) { + deliveryJobSystem.removeDeliveryJob(target); + } + + @Override + public void addDeliveryJob(DeliveryJob job) { + deliveryJobSystem.addDeliveryJob(job); + updateFilteredDeliveryJobList(PREDICATE_SHOW_ALL_DELIVERY_JOBS); + } + + @Override + public void setDeliveryJob(DeliveryJob target, DeliveryJob editedJob) { + requireAllNonNull(target, editedJob); + + deliveryJobSystem.setDeliveryJob(target, editedJob); + } + + // =========== Filtered Delivery Job List Accessors ============ @Override public ObservableList getDeliveryJobList() { diff --git a/src/main/java/seedu/address/model/jobs/UniqueDeliveryList.java b/src/main/java/seedu/address/model/jobs/UniqueDeliveryList.java index 862a5849959..f9d8826bf50 100644 --- a/src/main/java/seedu/address/model/jobs/UniqueDeliveryList.java +++ b/src/main/java/seedu/address/model/jobs/UniqueDeliveryList.java @@ -1,6 +1,7 @@ package seedu.address.model.jobs; import static java.util.Objects.requireNonNull; +import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; import java.util.Iterator; @@ -39,16 +40,38 @@ public boolean contains(DeliveryJob toCheck) { } /** - * add + * setDeliveryJobs * - * @param toAdd + * @param deliveryJobs */ - public void add(DeliveryJob toAdd) { - requireNonNull(toAdd); - if (contains(toAdd)) { + public void setDeliveryJobs(ObservableList deliveryJobs) { + requireAllNonNull(deliveryJobs); + if (!deliveryJobsAreUnique(deliveryJobs)) { throw new DuplicateDeliveryJobException(); } - internalList.add(toAdd); + + internalList.setAll(deliveryJobs); + } + + /** + * setDeliveryJob + * + * @param target + * @param editedPerson + */ + public void setDeliveryJob(DeliveryJob target, DeliveryJob editedJob) { + requireAllNonNull(target, editedJob); + + int index = internalList.indexOf(target); + if (index == -1) { + throw new DeliveryJobNotFoundException(); + } + + if (!target.isSameDeliveryJob(editedJob) && contains(editedJob)) { + throw new DuplicateDeliveryJobException(); + } + + internalList.set(index, editedJob); } /** @@ -60,4 +83,29 @@ public void remove(DeliveryJob toRemove) { throw new DeliveryJobNotFoundException(); } } + + /** + * add + * + * @param toAdd + */ + public void add(DeliveryJob toAdd) { + requireNonNull(toAdd); + if (contains(toAdd)) { + throw new DuplicateDeliveryJobException(); + } + internalList.add(toAdd); + } + + private boolean deliveryJobsAreUnique(ObservableList jobs) { + for (int i = 0; i < jobs.size() - 1; i++) { + for (int j = i + 1; j < jobs.size(); j++) { + if (jobs.get(i).isSameDeliveryJob(jobs.get(j))) { + return false; + } + } + } + return true; + } + } diff --git a/src/test/java/seedu/address/logic/commands/AddCommandTest.java b/src/test/java/seedu/address/logic/commands/AddCommandTest.java index ca0ab103f9f..dc8e7fd6180 100644 --- a/src/test/java/seedu/address/logic/commands/AddCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/AddCommandTest.java @@ -19,6 +19,7 @@ import seedu.address.model.AddressBook; import seedu.address.model.Model; import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.ReadOnlyDeliveryJobSystem; import seedu.address.model.ReadOnlyUserPrefs; import seedu.address.model.jobs.DeliveryJob; import seedu.address.model.person.Person; @@ -158,6 +159,42 @@ public ObservableList getDeliveryJobList() { public void updateFilteredDeliveryJobList(Predicate predicate) { throw new AssertionError("This method should not be called."); } + + @Override + public void setDeliveryJobSystem(ReadOnlyDeliveryJobSystem jobSystem) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'setDeliveryJobSystem'"); + } + + @Override + public ReadOnlyDeliveryJobSystem getDeliveryJobSystem() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'getDeliveryJobSystem'"); + } + + @Override + public boolean hasDeliveryJob(DeliveryJob job) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'hasDeliveryJob'"); + } + + @Override + public void deleteDeliveryJob(DeliveryJob target) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'deleteDeliveryJob'"); + } + + @Override + public void addDeliveryJob(DeliveryJob job) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'addDeliveryJob'"); + } + + @Override + public void setDeliveryJob(DeliveryJob target, DeliveryJob editedJob) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'setDeliveryJob'"); + } } /** diff --git a/src/test/java/seedu/address/model/DeliveryJobSystemTest.java b/src/test/java/seedu/address/model/DeliveryJobSystemTest.java index 36fd2534f3e..26ad4eb4822 100644 --- a/src/test/java/seedu/address/model/DeliveryJobSystemTest.java +++ b/src/test/java/seedu/address/model/DeliveryJobSystemTest.java @@ -20,16 +20,36 @@ void setUp() { @Test void testAddDeliveryJob() { DeliveryJob job = TypicalDeliveryJobs.JOBA; - assertEquals(ds.getDeliveryJobList().size(), 0); + assertEquals(0, ds.getDeliveryJobList().size()); ds.addDeliveryJob(job); - assertEquals(ds.getDeliveryJobList().size(), 1); + assertEquals(1, ds.getDeliveryJobList().size()); } @Test void testGetDeliveryJobList() { DeliveryJob job = TypicalDeliveryJobs.JOBA; ds.addDeliveryJob(job); - assertEquals(ds.getDeliveryJobList().size(), 1); + assertEquals(1, ds.getDeliveryJobList().size()); assertEquals(ds.getDeliveryJobList().get(0).toString(), job.toString()); } + + @Test + void testRemoveDeliveryJob() { + DeliveryJob job = TypicalDeliveryJobs.JOBA; + ds.addDeliveryJob(job); + assertEquals(1, ds.getDeliveryJobList().size()); + ds.removeDeliveryJob(job); + assertEquals(0, ds.getDeliveryJobList().size()); + } + + @Test + void testResetData() { + DeliveryJobSystem djs = new DeliveryJobSystem(); + djs.addDeliveryJob(TypicalDeliveryJobs.JOBA); + djs.addDeliveryJob(TypicalDeliveryJobs.JOBB); + assertEquals(2, djs.getDeliveryJobList().size()); + assertEquals(0, ds.getDeliveryJobList().size()); + ds.resetData(djs); + assertEquals(2, ds.getDeliveryJobList().size()); + } } diff --git a/src/test/java/seedu/address/model/ModelManagerTest.java b/src/test/java/seedu/address/model/ModelManagerTest.java index 2cf1418d116..dd55cc972a8 100644 --- a/src/test/java/seedu/address/model/ModelManagerTest.java +++ b/src/test/java/seedu/address/model/ModelManagerTest.java @@ -27,6 +27,7 @@ public void constructor() { assertEquals(new UserPrefs(), modelManager.getUserPrefs()); assertEquals(new GuiSettings(), modelManager.getGuiSettings()); assertEquals(new AddressBook(), new AddressBook(modelManager.getAddressBook())); + assertEquals(new DeliveryJobSystem(), new DeliveryJobSystem(modelManager.getDeliveryJobSystem())); } @Test From d26f17567db9cce91f72a424e4a48294ecd3336f Mon Sep 17 00:00:00 2001 From: c0j0s Date: Sat, 11 Mar 2023 23:55:04 +0800 Subject: [PATCH 081/470] Rename setDeliveryJobs to setDeliveryJob --- .../address/model/DeliveryJobSystem.java | 6 +++--- .../logic/commands/AddCommandTest.java | 19 +++++++++++++++++++ .../seedu/address/model/AddressBookTest.java | 7 +++++++ 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/src/main/java/seedu/address/model/DeliveryJobSystem.java b/src/main/java/seedu/address/model/DeliveryJobSystem.java index 4ba2e02bcad..0ff7a96b32e 100644 --- a/src/main/java/seedu/address/model/DeliveryJobSystem.java +++ b/src/main/java/seedu/address/model/DeliveryJobSystem.java @@ -39,11 +39,11 @@ public DeliveryJobSystem(ReadOnlyDeliveryJobSystem deliveryJobSystem) { */ public void resetData(ReadOnlyDeliveryJobSystem newData) { requireNonNull(newData); - setDeliveryJob(newData.getDeliveryJobList()); + setDeliveryJobs(newData.getDeliveryJobList()); } - private void setDeliveryJob(ObservableList deliveryJobList) { - this.jobs.setDeliveryJob(deliveryJobList); + private void setDeliveryJobs(ObservableList deliveryJobList) { + this.jobs.setDeliveryJobs(deliveryJobList); } /** diff --git a/src/test/java/seedu/address/logic/commands/AddCommandTest.java b/src/test/java/seedu/address/logic/commands/AddCommandTest.java index dc8e7fd6180..326dac4e3e3 100644 --- a/src/test/java/seedu/address/logic/commands/AddCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/AddCommandTest.java @@ -23,6 +23,7 @@ import seedu.address.model.ReadOnlyUserPrefs; import seedu.address.model.jobs.DeliveryJob; import seedu.address.model.person.Person; +import seedu.address.model.reminder.Reminder; import seedu.address.testutil.PersonBuilder; public class AddCommandTest { @@ -195,6 +196,24 @@ public void setDeliveryJob(DeliveryJob target, DeliveryJob editedJob) { // TODO Auto-generated method stub throw new UnsupportedOperationException("Unimplemented method 'setDeliveryJob'"); } + + @Override + public void deleteReminder(int i) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'deleteReminder'"); + } + + @Override + public void addReminder(Reminder reminder) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'addReminder'"); + } + + @Override + public ObservableList getReminderList() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'getReminderList'"); + } } /** diff --git a/src/test/java/seedu/address/model/AddressBookTest.java b/src/test/java/seedu/address/model/AddressBookTest.java index 87782528ecd..041ca6147c7 100644 --- a/src/test/java/seedu/address/model/AddressBookTest.java +++ b/src/test/java/seedu/address/model/AddressBookTest.java @@ -20,6 +20,7 @@ import javafx.collections.ObservableList; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; +import seedu.address.model.reminder.Reminder; import seedu.address.testutil.PersonBuilder; public class AddressBookTest { @@ -97,6 +98,12 @@ private static class AddressBookStub implements ReadOnlyAddressBook { public ObservableList getPersonList() { return persons; } + + @Override + public ObservableList getReminderList() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'getReminderList'"); + } } } From 568851944a2ddf997504ca496f788f3065cd64c1 Mon Sep 17 00:00:00 2001 From: c0j0s Date: Sun, 12 Mar 2023 00:09:52 +0800 Subject: [PATCH 082/470] Move JsonAdaptedReminder to storage/model folder --- .../address/storage/{ => json/model}/JsonAdaptedReminder.java | 0 .../storage/json/serializable/JsonSerializableAddressBook.java | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename src/main/java/seedu/address/storage/{ => json/model}/JsonAdaptedReminder.java (100%) diff --git a/src/main/java/seedu/address/storage/JsonAdaptedReminder.java b/src/main/java/seedu/address/storage/json/model/JsonAdaptedReminder.java similarity index 100% rename from src/main/java/seedu/address/storage/JsonAdaptedReminder.java rename to src/main/java/seedu/address/storage/json/model/JsonAdaptedReminder.java diff --git a/src/main/java/seedu/address/storage/json/serializable/JsonSerializableAddressBook.java b/src/main/java/seedu/address/storage/json/serializable/JsonSerializableAddressBook.java index 5f7ee0106c5..5862b8bc0d9 100644 --- a/src/main/java/seedu/address/storage/json/serializable/JsonSerializableAddressBook.java +++ b/src/main/java/seedu/address/storage/json/serializable/JsonSerializableAddressBook.java @@ -8,8 +8,8 @@ import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.person.Person; import seedu.address.model.reminder.Reminder; -import seedu.address.storage.JsonAdaptedReminder; import seedu.address.storage.json.model.JsonAdaptedPerson; +import seedu.address.storage.json.model.JsonAdaptedReminder; import java.util.ArrayList; import java.util.List; From 6e3bb5a4f6f568c0ea81d51083ade050e70cd9ff Mon Sep 17 00:00:00 2001 From: c0j0s Date: Sun, 12 Mar 2023 01:13:07 +0800 Subject: [PATCH 083/470] Add saving function to delivery job system --- .../seedu/address/logic/LogicManager.java | 1 + .../address/model/DeliveryJobSystem.java | 30 ++++++-- .../model/jobs/UniqueDeliveryList.java | 75 ++++++++++++------- .../seedu/address/storage/StorageManager.java | 11 ++- .../json/model/JsonAdaptedReminder.java | 2 +- .../JsonSerializableDeliveryJobSystem.java | 34 ++++++++- .../storage/JsonDeliveryJobSystemStorage.java | 16 ++-- .../address/storage/StorageManagerTest.java | 10 +++ .../address/testutil/TypicalDeliveryJobs.java | 2 +- 9 files changed, 132 insertions(+), 49 deletions(-) diff --git a/src/main/java/seedu/address/logic/LogicManager.java b/src/main/java/seedu/address/logic/LogicManager.java index 0a0f9407f7f..5a4922c9867 100644 --- a/src/main/java/seedu/address/logic/LogicManager.java +++ b/src/main/java/seedu/address/logic/LogicManager.java @@ -48,6 +48,7 @@ public CommandResult execute(String commandText) throws CommandException, ParseE try { storage.saveAddressBook(model.getAddressBook()); + storage.saveDeliveryJobSystem(model.getDeliveryJobSystem()); } catch (IOException ioe) { throw new CommandException(FILE_OPS_ERROR_MESSAGE + ioe, ioe); } diff --git a/src/main/java/seedu/address/model/DeliveryJobSystem.java b/src/main/java/seedu/address/model/DeliveryJobSystem.java index 0ff7a96b32e..21b452d6a91 100644 --- a/src/main/java/seedu/address/model/DeliveryJobSystem.java +++ b/src/main/java/seedu/address/model/DeliveryJobSystem.java @@ -2,6 +2,8 @@ import static java.util.Objects.requireNonNull; +import java.util.List; + import javafx.collections.ObservableList; import seedu.address.model.jobs.DeliveryJob; import seedu.address.model.jobs.UniqueDeliveryList; @@ -32,6 +34,10 @@ public DeliveryJobSystem(ReadOnlyDeliveryJobSystem deliveryJobSystem) { resetData(deliveryJobSystem); } + private void setDeliveryJobs(List jobs) { + this.jobs.setDeliveryJobs(jobs); + } + /** * resetData * @@ -39,11 +45,8 @@ public DeliveryJobSystem(ReadOnlyDeliveryJobSystem deliveryJobSystem) { */ public void resetData(ReadOnlyDeliveryJobSystem newData) { requireNonNull(newData); - setDeliveryJobs(newData.getDeliveryJobList()); - } - private void setDeliveryJobs(ObservableList deliveryJobList) { - this.jobs.setDeliveryJobs(deliveryJobList); + setDeliveryJobs(newData.getDeliveryJobList()); } /** @@ -84,10 +87,27 @@ public void removeDeliveryJob(DeliveryJob key) { } /** - * Returns true if a person with the same identity as {@code person} exists in the address book. + * Returns true if a delivery job with the same identity as {@code delivery job} exists in the address book. */ public boolean hasDeliveryJob(DeliveryJob job) { requireNonNull(job); return jobs.contains(job); } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof DeliveryJobSystem // instanceof handles nulls + && jobs.equals(((DeliveryJobSystem) other).jobs)); + } + + @Override + public String toString() { + return jobs.asUnmodifiableObservableList().size() + " delivery jobs"; + } + + @Override + public int hashCode() { + return jobs.hashCode(); + } } diff --git a/src/main/java/seedu/address/model/jobs/UniqueDeliveryList.java b/src/main/java/seedu/address/model/jobs/UniqueDeliveryList.java index f9d8826bf50..ee128d561ee 100644 --- a/src/main/java/seedu/address/model/jobs/UniqueDeliveryList.java +++ b/src/main/java/seedu/address/model/jobs/UniqueDeliveryList.java @@ -4,6 +4,7 @@ import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; import java.util.Iterator; +import java.util.List; import javafx.collections.FXCollections; import javafx.collections.ObservableList; @@ -19,18 +20,6 @@ public class UniqueDeliveryList implements Iterable { private final ObservableList internalUnmodifiableList = FXCollections.unmodifiableObservableList(internalList); - /** - * Returns the backing list as an unmodifiable {@code ObservableList}. - */ - public ObservableList asUnmodifiableObservableList() { - return internalUnmodifiableList; - } - - @Override - public Iterator iterator() { - return internalList.iterator(); - } - /** * Contains. */ @@ -40,17 +29,16 @@ public boolean contains(DeliveryJob toCheck) { } /** - * setDeliveryJobs + * add * - * @param deliveryJobs + * @param toAdd */ - public void setDeliveryJobs(ObservableList deliveryJobs) { - requireAllNonNull(deliveryJobs); - if (!deliveryJobsAreUnique(deliveryJobs)) { + public void add(DeliveryJob toAdd) { + requireNonNull(toAdd); + if (contains(toAdd)) { throw new DuplicateDeliveryJobException(); } - - internalList.setAll(deliveryJobs); + internalList.add(toAdd); } /** @@ -85,19 +73,54 @@ public void remove(DeliveryJob toRemove) { } /** - * add + * setDeliveryJobs * - * @param toAdd + * @param replacement */ - public void add(DeliveryJob toAdd) { - requireNonNull(toAdd); - if (contains(toAdd)) { + public void setDeliveryJobs(UniqueDeliveryList replacement) { + requireNonNull(replacement); + internalList.setAll(replacement.internalList); + } + + /** + * setDeliveryJobs + * + * @param deliveryJobs + */ + public void setDeliveryJobs(List jobs) { + requireAllNonNull(jobs); + if (!deliveryJobsAreUnique(jobs)) { throw new DuplicateDeliveryJobException(); } - internalList.add(toAdd); + + internalList.setAll(jobs); + } + + /** + * Returns the backing list as an unmodifiable {@code ObservableList}. + */ + public ObservableList asUnmodifiableObservableList() { + return internalUnmodifiableList; + } + + @Override + public Iterator iterator() { + return internalList.iterator(); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof UniqueDeliveryList // instanceof handles nulls + && internalList.equals(((UniqueDeliveryList) other).internalList)); + } + + @Override + public int hashCode() { + return internalList.hashCode(); } - private boolean deliveryJobsAreUnique(ObservableList jobs) { + private boolean deliveryJobsAreUnique(List jobs) { for (int i = 0; i < jobs.size() - 1; i++) { for (int j = i + 1; j < jobs.size(); j++) { if (jobs.get(i).isSameDeliveryJob(jobs.get(j))) { diff --git a/src/main/java/seedu/address/storage/StorageManager.java b/src/main/java/seedu/address/storage/StorageManager.java index 12b24b1c664..01d0d6042e1 100644 --- a/src/main/java/seedu/address/storage/StorageManager.java +++ b/src/main/java/seedu/address/storage/StorageManager.java @@ -99,15 +99,14 @@ public Optional readDeliveryJobSystem(Path filePath) } @Override - public void saveDeliveryJobSystem(ReadOnlyDeliveryJobSystem addressBook, Path filePath) throws IOException { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'saveDeliveryJob'"); + public void saveDeliveryJobSystem(ReadOnlyDeliveryJobSystem deliveryJobSystem) throws IOException { + saveDeliveryJobSystem(deliveryJobSystem, deliveryJobSystemStorage.getDeliveryJobFilePath()); } @Override - public void saveDeliveryJobSystem(ReadOnlyDeliveryJobSystem deliveryJob) throws IOException { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'saveDeliveryJob'"); + public void saveDeliveryJobSystem(ReadOnlyDeliveryJobSystem deliveryJobSystem, Path filePath) throws IOException { + logger.fine("[DJ] Attempting to write to data file: " + filePath); + deliveryJobSystemStorage.saveDeliveryJobSystem(deliveryJobSystem, filePath); } } diff --git a/src/main/java/seedu/address/storage/json/model/JsonAdaptedReminder.java b/src/main/java/seedu/address/storage/json/model/JsonAdaptedReminder.java index d74b7db31fe..50449db6ed6 100644 --- a/src/main/java/seedu/address/storage/json/model/JsonAdaptedReminder.java +++ b/src/main/java/seedu/address/storage/json/model/JsonAdaptedReminder.java @@ -1,4 +1,4 @@ -package seedu.address.storage; +package seedu.address.storage.json.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/src/main/java/seedu/address/storage/json/serializable/JsonSerializableDeliveryJobSystem.java b/src/main/java/seedu/address/storage/json/serializable/JsonSerializableDeliveryJobSystem.java index ed12052703e..eb3bd303d17 100644 --- a/src/main/java/seedu/address/storage/json/serializable/JsonSerializableDeliveryJobSystem.java +++ b/src/main/java/seedu/address/storage/json/serializable/JsonSerializableDeliveryJobSystem.java @@ -2,19 +2,47 @@ import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonRootName; import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.model.DeliveryJobSystem; +import seedu.address.model.ReadOnlyDeliveryJobSystem; import seedu.address.model.jobs.DeliveryJob; import seedu.address.storage.json.model.JsonAdaptedDeliveryJob; +import seedu.address.storage.json.model.JsonAdaptedPerson; +import seedu.address.storage.json.model.JsonAdaptedReminder; /** * JsonSerializableDeliveryJobSystem */ +@JsonRootName(value = "deliveryjobsystem") public class JsonSerializableDeliveryJobSystem { + public static final String MESSAGE_DUPLICATE_JOB = "Persons list contains duplicate job(s)."; + private final List jobs = new ArrayList<>(); + /** + * Constructs a {@code JsonSerializableDeliveryJobSystem} with the given persons and reminderList. + */ + @JsonCreator + public JsonSerializableDeliveryJobSystem(@JsonProperty("jobs") List jobs) { + this.jobs.addAll(jobs); + } + + /** + * Converts a given {@code ReadOnlyDeliveryJobSystem} into this class for Jackson use. + * + * @param source future changes to this will not affect the created {@code JsonSerializableDeliveryJobSystem}. + */ + public JsonSerializableDeliveryJobSystem(ReadOnlyDeliveryJobSystem source) { + jobs.addAll(source.getDeliveryJobList().stream().map(JsonAdaptedDeliveryJob::new).collect(Collectors.toList())); + } + /** * ToModelType * @@ -25,9 +53,9 @@ public DeliveryJobSystem toModelType() throws IllegalValueException { DeliveryJobSystem deliveryJobSystem = new DeliveryJobSystem(); for (JsonAdaptedDeliveryJob jsonAdaptedDeliveryJob : jobs) { DeliveryJob job = jsonAdaptedDeliveryJob.toModelType(); - // if (addressBook.hasPerson(person)) { - // throw new IllegalValueException(MESSAGE_DUPLICATE_PERSON); - // } + if (deliveryJobSystem.hasDeliveryJob(job)) { + throw new IllegalValueException(MESSAGE_DUPLICATE_JOB); + } deliveryJobSystem.addDeliveryJob(job); } return deliveryJobSystem; diff --git a/src/main/java/seedu/address/storage/json/storage/JsonDeliveryJobSystemStorage.java b/src/main/java/seedu/address/storage/json/storage/JsonDeliveryJobSystemStorage.java index fae31b17f1f..83be38b1cc1 100644 --- a/src/main/java/seedu/address/storage/json/storage/JsonDeliveryJobSystemStorage.java +++ b/src/main/java/seedu/address/storage/json/storage/JsonDeliveryJobSystemStorage.java @@ -10,6 +10,7 @@ import seedu.address.commons.core.LogsCenter; import seedu.address.commons.exceptions.DataConversionException; import seedu.address.commons.exceptions.IllegalValueException; +import seedu.address.commons.util.FileUtil; import seedu.address.commons.util.JsonUtil; import seedu.address.model.ReadOnlyDeliveryJobSystem; import seedu.address.storage.DeliveryJobSystemStorage; @@ -57,15 +58,16 @@ public Optional readDeliveryJobSystem(Path filePath) } @Override - public void saveDeliveryJobSystem(ReadOnlyDeliveryJobSystem addressBook, Path filePath) throws IOException { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'saveDeliveryJob'"); + public void saveDeliveryJobSystem(ReadOnlyDeliveryJobSystem deliveryJobSystem) throws IOException { + saveDeliveryJobSystem(deliveryJobSystem, filePath); } @Override - public void saveDeliveryJobSystem(ReadOnlyDeliveryJobSystem addressBook) throws IOException { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'saveDeliveryJob'"); - } + public void saveDeliveryJobSystem(ReadOnlyDeliveryJobSystem deliveryJobSystem, Path filePath) throws IOException { + requireNonNull(deliveryJobSystem); + requireNonNull(filePath); + FileUtil.createIfMissing(filePath); + JsonUtil.saveJsonFile(new JsonSerializableDeliveryJobSystem(deliveryJobSystem), filePath); + } } diff --git a/src/test/java/seedu/address/storage/StorageManagerTest.java b/src/test/java/seedu/address/storage/StorageManagerTest.java index 9bc936f3e0f..d93e52d29c1 100644 --- a/src/test/java/seedu/address/storage/StorageManagerTest.java +++ b/src/test/java/seedu/address/storage/StorageManagerTest.java @@ -3,6 +3,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; +import static seedu.address.testutil.TypicalDeliveryJobs.getTypicalDeliveryJobSystem; import java.nio.file.Path; @@ -12,7 +13,9 @@ import seedu.address.commons.core.GuiSettings; import seedu.address.model.AddressBook; +import seedu.address.model.DeliveryJobSystem; import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.ReadOnlyDeliveryJobSystem; import seedu.address.model.UserPrefs; import seedu.address.storage.json.storage.JsonAddressBookStorage; import seedu.address.storage.json.storage.JsonDeliveryJobSystemStorage; @@ -73,4 +76,11 @@ public void getAddressBookFilePath() { assertNotNull(storageManager.getAddressBookFilePath()); } + @Test + public void deliveryJobSystemReadSave() throws Exception { + DeliveryJobSystem original = getTypicalDeliveryJobSystem(); + storageManager.saveDeliveryJobSystem(original); + ReadOnlyDeliveryJobSystem retrieved = storageManager.readDeliveryJobSystem().get(); + assertEquals(original.toString(), new DeliveryJobSystem(retrieved).toString()); + } } diff --git a/src/test/java/seedu/address/testutil/TypicalDeliveryJobs.java b/src/test/java/seedu/address/testutil/TypicalDeliveryJobs.java index 0576c8ca7cd..3ca9d03ad10 100644 --- a/src/test/java/seedu/address/testutil/TypicalDeliveryJobs.java +++ b/src/test/java/seedu/address/testutil/TypicalDeliveryJobs.java @@ -39,7 +39,7 @@ public class TypicalDeliveryJobs { "dummy slot", 6.0); - public static ReadOnlyDeliveryJobSystem getSampleDeliveryJobSystem() { + public static DeliveryJobSystem getTypicalDeliveryJobSystem() { DeliveryJobSystem sampleDS = new DeliveryJobSystem(); for (DeliveryJob sampleJob : getTypicalDeliveryJobs()) { sampleDS.addDeliveryJob(sampleJob); From fc4345c612c62093794576559ae7fd61b5547f6c Mon Sep 17 00:00:00 2001 From: ChinJunAn Date: Sun, 12 Mar 2023 12:36:46 +0800 Subject: [PATCH 084/470] Correct import styles. Remove wildcards. --- src/main/java/seedu/address/MainApp.java | 24 ++++++++++++----- .../seedu/address/commons/core/Config.java | 1 + .../address/commons/core/GuiSettings.java | 2 +- .../address/commons/core/LogsCenter.java | 6 ++++- .../address/commons/util/StringUtil.java | 6 ++--- .../address/logic/commands/AddCommand.java | 10 +++++-- .../address/logic/commands/AddReminder.java | 7 +++-- .../address/logic/commands/ClearCommand.java | 4 +-- .../address/logic/commands/CommandResult.java | 4 +-- .../address/logic/commands/DeleteCommand.java | 4 +-- .../logic/commands/DeleteReminder.java | 4 +-- .../address/logic/commands/EditCommand.java | 26 ++++++++++++++----- .../address/logic/commands/FindCommand.java | 4 +-- .../address/logic/commands/ListCommand.java | 4 +-- .../address/logic/commands/ListReminder.java | 4 +-- .../logic/parser/AddCommandParser.java | 20 +++++++++----- .../logic/parser/AddReminderParser.java | 8 +++--- .../logic/parser/AddressBookParser.java | 8 +++--- .../logic/parser/ArgumentMultimap.java | 6 ++++- .../logic/parser/DeleteCommandParser.java | 4 +-- .../logic/parser/DeleteReminderParser.java | 4 +-- .../logic/parser/EditCommandParser.java | 20 ++++++++------ .../logic/parser/FindCommandParser.java | 4 +-- .../address/logic/parser/ParserUtil.java | 4 +-- .../java/seedu/address/model/AddressBook.java | 4 +-- .../seedu/address/model/ModelManager.java | 7 +++-- .../java/seedu/address/model/UserPrefs.java | 4 +-- .../seedu/address/model/person/Person.java | 5 ++-- .../model/person/UniquePersonList.java | 6 ++--- .../address/model/reminder/Reminder.java | 4 +-- .../address/model/reminder/ReminderList.java | 6 ++--- .../address/model/util/SampleDataUtil.java | 14 ++++++---- .../address/storage/JsonAdaptedReminder.java | 4 +-- .../storage/JsonAddressBookStorage.java | 4 +-- .../java/seedu/address/ui/ResultDisplay.java | 4 +-- src/main/java/seedu/address/ui/UiPart.java | 4 +-- 36 files changed, 152 insertions(+), 102 deletions(-) diff --git a/src/main/java/seedu/address/MainApp.java b/src/main/java/seedu/address/MainApp.java index f3a6e3d6dce..7a9ed59b4a2 100644 --- a/src/main/java/seedu/address/MainApp.java +++ b/src/main/java/seedu/address/MainApp.java @@ -1,5 +1,10 @@ package seedu.address; +import java.io.IOException; +import java.nio.file.Path; +import java.util.Optional; +import java.util.logging.Logger; + import javafx.application.Application; import javafx.stage.Stage; import seedu.address.commons.core.Config; @@ -10,17 +15,22 @@ import seedu.address.commons.util.StringUtil; import seedu.address.logic.Logic; import seedu.address.logic.LogicManager; -import seedu.address.model.*; +import seedu.address.model.AddressBook; +import seedu.address.model.Model; +import seedu.address.model.ModelManager; +import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.ReadOnlyUserPrefs; +import seedu.address.model.UserPrefs; import seedu.address.model.util.SampleDataUtil; -import seedu.address.storage.*; +import seedu.address.storage.AddressBookStorage; +import seedu.address.storage.JsonAddressBookStorage; +import seedu.address.storage.JsonUserPrefsStorage; +import seedu.address.storage.Storage; +import seedu.address.storage.StorageManager; +import seedu.address.storage.UserPrefsStorage; import seedu.address.ui.Ui; import seedu.address.ui.UiManager; -import java.io.IOException; -import java.nio.file.Path; -import java.util.Optional; -import java.util.logging.Logger; - /** * Runs the application. */ diff --git a/src/main/java/seedu/address/commons/core/Config.java b/src/main/java/seedu/address/commons/core/Config.java index 91145745521..f0084f846f3 100644 --- a/src/main/java/seedu/address/commons/core/Config.java +++ b/src/main/java/seedu/address/commons/core/Config.java @@ -2,6 +2,7 @@ import java.nio.file.Path; import java.nio.file.Paths; + import java.util.Objects; import java.util.logging.Level; diff --git a/src/main/java/seedu/address/commons/core/GuiSettings.java b/src/main/java/seedu/address/commons/core/GuiSettings.java index 29cf5fe2311..ba33653be67 100644 --- a/src/main/java/seedu/address/commons/core/GuiSettings.java +++ b/src/main/java/seedu/address/commons/core/GuiSettings.java @@ -1,6 +1,6 @@ package seedu.address.commons.core; -import java.awt.*; +import java.awt.Point; import java.io.Serializable; import java.util.Objects; diff --git a/src/main/java/seedu/address/commons/core/LogsCenter.java b/src/main/java/seedu/address/commons/core/LogsCenter.java index f3c78485dfb..70a7f56b8b0 100644 --- a/src/main/java/seedu/address/commons/core/LogsCenter.java +++ b/src/main/java/seedu/address/commons/core/LogsCenter.java @@ -2,7 +2,11 @@ import java.io.IOException; import java.util.Arrays; -import java.util.logging.*; +import java.util.logging.ConsoleHandler; +import java.util.logging.FileHandler; +import java.util.logging.Level; +import java.util.logging.Logger; +import java.util.logging.SimpleFormatter; /** * Configures and manages loggers and handlers, including their logging level diff --git a/src/main/java/seedu/address/commons/util/StringUtil.java b/src/main/java/seedu/address/commons/util/StringUtil.java index 4844d9ceaaa..edacbf58bba 100644 --- a/src/main/java/seedu/address/commons/util/StringUtil.java +++ b/src/main/java/seedu/address/commons/util/StringUtil.java @@ -1,12 +1,12 @@ package seedu.address.commons.util; +import static java.util.Objects.requireNonNull; +import static seedu.address.commons.util.AppUtil.checkArgument; + import java.io.PrintWriter; import java.io.StringWriter; import java.util.Arrays; -import static java.util.Objects.requireNonNull; -import static seedu.address.commons.util.AppUtil.checkArgument; - /** * Helper functions for handling strings. */ diff --git a/src/main/java/seedu/address/logic/commands/AddCommand.java b/src/main/java/seedu/address/logic/commands/AddCommand.java index 7ea95122f3f..82923a0dd5d 100644 --- a/src/main/java/seedu/address/logic/commands/AddCommand.java +++ b/src/main/java/seedu/address/logic/commands/AddCommand.java @@ -1,11 +1,17 @@ package seedu.address.logic.commands; +import static java.util.Objects.requireNonNull; + +import static seedu.address.logic.parser.CliSyntax.PREFIX_ADDRESS; +import static seedu.address.logic.parser.CliSyntax.PREFIX_EMAIL; +import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; +import static seedu.address.logic.parser.CliSyntax.PREFIX_PHONE; +import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG; + import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.Model; import seedu.address.model.person.Person; -import static java.util.Objects.requireNonNull; -import static seedu.address.logic.parser.CliSyntax.*; /** * Adds a person to the address book. diff --git a/src/main/java/seedu/address/logic/commands/AddReminder.java b/src/main/java/seedu/address/logic/commands/AddReminder.java index e2b464a9dcd..dddec36170c 100644 --- a/src/main/java/seedu/address/logic/commands/AddReminder.java +++ b/src/main/java/seedu/address/logic/commands/AddReminder.java @@ -1,13 +1,12 @@ package seedu.address.logic.commands; -import seedu.address.logic.commands.exceptions.CommandException; -import seedu.address.model.Model; -import seedu.address.model.reminder.Reminder; - import static java.util.Objects.requireNonNull; import static seedu.address.logic.parser.CliSyntax.PREFIX_DESCRIPTION; import static seedu.address.logic.parser.CliSyntax.PREFIX_TIME; +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.model.Model; +import seedu.address.model.reminder.Reminder; public class AddReminder extends Command { diff --git a/src/main/java/seedu/address/logic/commands/ClearCommand.java b/src/main/java/seedu/address/logic/commands/ClearCommand.java index e919c90837b..9c86b1fa6e4 100644 --- a/src/main/java/seedu/address/logic/commands/ClearCommand.java +++ b/src/main/java/seedu/address/logic/commands/ClearCommand.java @@ -1,10 +1,10 @@ package seedu.address.logic.commands; +import static java.util.Objects.requireNonNull; + import seedu.address.model.AddressBook; import seedu.address.model.Model; -import static java.util.Objects.requireNonNull; - /** * Clears the address book. */ diff --git a/src/main/java/seedu/address/logic/commands/CommandResult.java b/src/main/java/seedu/address/logic/commands/CommandResult.java index ed6a6a37eaa..4f06a6069db 100644 --- a/src/main/java/seedu/address/logic/commands/CommandResult.java +++ b/src/main/java/seedu/address/logic/commands/CommandResult.java @@ -1,9 +1,9 @@ package seedu.address.logic.commands; -import java.util.Objects; - import static java.util.Objects.requireNonNull; +import java.util.Objects; + /** * Represents the result of a command execution. */ diff --git a/src/main/java/seedu/address/logic/commands/DeleteCommand.java b/src/main/java/seedu/address/logic/commands/DeleteCommand.java index 9532b0be021..1ca7e51ba75 100644 --- a/src/main/java/seedu/address/logic/commands/DeleteCommand.java +++ b/src/main/java/seedu/address/logic/commands/DeleteCommand.java @@ -1,5 +1,7 @@ package seedu.address.logic.commands; +import static java.util.Objects.requireNonNull; + import seedu.address.commons.core.Messages; import seedu.address.commons.core.index.Index; import seedu.address.logic.commands.exceptions.CommandException; @@ -8,8 +10,6 @@ import java.util.List; -import static java.util.Objects.requireNonNull; - /** * Deletes a person identified using it's displayed index from the address book. */ diff --git a/src/main/java/seedu/address/logic/commands/DeleteReminder.java b/src/main/java/seedu/address/logic/commands/DeleteReminder.java index 99dba92b3e3..ab811b7415b 100644 --- a/src/main/java/seedu/address/logic/commands/DeleteReminder.java +++ b/src/main/java/seedu/address/logic/commands/DeleteReminder.java @@ -1,5 +1,7 @@ package seedu.address.logic.commands; +import static java.util.Objects.requireNonNull; + import seedu.address.commons.core.Messages; import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.Model; @@ -7,8 +9,6 @@ import java.util.List; -import static java.util.Objects.requireNonNull; - public class DeleteReminder extends Command { public static final String COMMAND_WORD = "delete_reminder"; diff --git a/src/main/java/seedu/address/logic/commands/EditCommand.java b/src/main/java/seedu/address/logic/commands/EditCommand.java index 2d1467911bb..8285b2482eb 100644 --- a/src/main/java/seedu/address/logic/commands/EditCommand.java +++ b/src/main/java/seedu/address/logic/commands/EditCommand.java @@ -1,19 +1,31 @@ package seedu.address.logic.commands; +import static java.util.Objects.requireNonNull; +import static seedu.address.logic.parser.CliSyntax.PREFIX_ADDRESS; +import static seedu.address.logic.parser.CliSyntax.PREFIX_EMAIL; +import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; +import static seedu.address.logic.parser.CliSyntax.PREFIX_PHONE; +import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG; +import static seedu.address.model.Model.PREDICATE_SHOW_ALL_PERSONS; + +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Optional; +import java.util.Set; + import seedu.address.commons.core.Messages; import seedu.address.commons.core.index.Index; import seedu.address.commons.util.CollectionUtil; import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.Model; -import seedu.address.model.person.*; +import seedu.address.model.person.Address; +import seedu.address.model.person.Email; +import seedu.address.model.person.Name; +import seedu.address.model.person.Person; +import seedu.address.model.person.Phone; import seedu.address.model.tag.Tag; -import java.util.*; - -import static java.util.Objects.requireNonNull; -import static seedu.address.logic.parser.CliSyntax.*; -import static seedu.address.model.Model.PREDICATE_SHOW_ALL_PERSONS; - /** * Edits the details of an existing person in the address book. */ diff --git a/src/main/java/seedu/address/logic/commands/FindCommand.java b/src/main/java/seedu/address/logic/commands/FindCommand.java index 1613ebd69ac..d6b19b0a0de 100644 --- a/src/main/java/seedu/address/logic/commands/FindCommand.java +++ b/src/main/java/seedu/address/logic/commands/FindCommand.java @@ -1,11 +1,11 @@ package seedu.address.logic.commands; +import static java.util.Objects.requireNonNull; + import seedu.address.commons.core.Messages; import seedu.address.model.Model; import seedu.address.model.person.NameContainsKeywordsPredicate; -import static java.util.Objects.requireNonNull; - /** * Finds and lists all persons in address book whose name contains any of the argument keywords. * Keyword matching is case insensitive. diff --git a/src/main/java/seedu/address/logic/commands/ListCommand.java b/src/main/java/seedu/address/logic/commands/ListCommand.java index 6289fc02294..84be6ad2596 100644 --- a/src/main/java/seedu/address/logic/commands/ListCommand.java +++ b/src/main/java/seedu/address/logic/commands/ListCommand.java @@ -1,10 +1,10 @@ package seedu.address.logic.commands; -import seedu.address.model.Model; - import static java.util.Objects.requireNonNull; import static seedu.address.model.Model.PREDICATE_SHOW_ALL_PERSONS; +import seedu.address.model.Model; + /** * Lists all persons in the address book to the user. */ diff --git a/src/main/java/seedu/address/logic/commands/ListReminder.java b/src/main/java/seedu/address/logic/commands/ListReminder.java index 4e312c5cec0..753b3db665f 100644 --- a/src/main/java/seedu/address/logic/commands/ListReminder.java +++ b/src/main/java/seedu/address/logic/commands/ListReminder.java @@ -1,10 +1,10 @@ package seedu.address.logic.commands; +import static java.util.Objects.requireNonNull; + import seedu.address.model.Model; import seedu.address.ui.NotificationManager; -import static java.util.Objects.requireNonNull; - public class ListReminder extends Command { public static final String COMMAND_WORD = "list_reminder"; diff --git a/src/main/java/seedu/address/logic/parser/AddCommandParser.java b/src/main/java/seedu/address/logic/parser/AddCommandParser.java index 8635684ffe7..940497462bf 100644 --- a/src/main/java/seedu/address/logic/parser/AddCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/AddCommandParser.java @@ -1,15 +1,23 @@ package seedu.address.logic.parser; -import seedu.address.logic.commands.AddCommand; -import seedu.address.logic.parser.exceptions.ParseException; -import seedu.address.model.person.*; -import seedu.address.model.tag.Tag; +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static seedu.address.logic.parser.CliSyntax.PREFIX_ADDRESS; +import static seedu.address.logic.parser.CliSyntax.PREFIX_EMAIL; +import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; +import static seedu.address.logic.parser.CliSyntax.PREFIX_PHONE; +import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG; import java.util.Set; import java.util.stream.Stream; -import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; -import static seedu.address.logic.parser.CliSyntax.*; +import seedu.address.logic.commands.AddCommand; +import seedu.address.logic.parser.exceptions.ParseException; +import seedu.address.model.person.Address; +import seedu.address.model.person.Email; +import seedu.address.model.person.Name; +import seedu.address.model.person.Person; +import seedu.address.model.person.Phone; +import seedu.address.model.tag.Tag; /** * Parses input arguments and creates a new AddCommand object diff --git a/src/main/java/seedu/address/logic/parser/AddReminderParser.java b/src/main/java/seedu/address/logic/parser/AddReminderParser.java index 70c548755d7..ffc6d0215fb 100644 --- a/src/main/java/seedu/address/logic/parser/AddReminderParser.java +++ b/src/main/java/seedu/address/logic/parser/AddReminderParser.java @@ -1,5 +1,9 @@ package seedu.address.logic.parser; +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static seedu.address.logic.parser.CliSyntax.PREFIX_DESCRIPTION; +import static seedu.address.logic.parser.CliSyntax.PREFIX_TIME; + import seedu.address.commons.util.DateTimeUtil; import seedu.address.logic.commands.AddReminder; import seedu.address.logic.parser.exceptions.ParseException; @@ -9,10 +13,6 @@ import java.time.format.DateTimeParseException; import java.util.stream.Stream; -import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; -import static seedu.address.logic.parser.CliSyntax.PREFIX_DESCRIPTION; -import static seedu.address.logic.parser.CliSyntax.PREFIX_TIME; - public class AddReminderParser implements Parser { /** diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index f8f66596fe4..e837f1e418c 100644 --- a/src/main/java/seedu/address/logic/parser/AddressBookParser.java +++ b/src/main/java/seedu/address/logic/parser/AddressBookParser.java @@ -1,13 +1,13 @@ package seedu.address.logic.parser; -import seedu.address.logic.commands.*; -import seedu.address.logic.parser.exceptions.ParseException; +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static seedu.address.commons.core.Messages.MESSAGE_UNKNOWN_COMMAND; import java.util.regex.Matcher; import java.util.regex.Pattern; -import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; -import static seedu.address.commons.core.Messages.MESSAGE_UNKNOWN_COMMAND; +import seedu.address.logic.commands.*; +import seedu.address.logic.parser.exceptions.ParseException; /** * Parses user input. diff --git a/src/main/java/seedu/address/logic/parser/ArgumentMultimap.java b/src/main/java/seedu/address/logic/parser/ArgumentMultimap.java index ae7d69101e6..5711b786037 100644 --- a/src/main/java/seedu/address/logic/parser/ArgumentMultimap.java +++ b/src/main/java/seedu/address/logic/parser/ArgumentMultimap.java @@ -1,6 +1,10 @@ package seedu.address.logic.parser; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; /** * Stores mapping of prefixes to their respective arguments. diff --git a/src/main/java/seedu/address/logic/parser/DeleteCommandParser.java b/src/main/java/seedu/address/logic/parser/DeleteCommandParser.java index 56bf9eac81c..72e965196fa 100644 --- a/src/main/java/seedu/address/logic/parser/DeleteCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/DeleteCommandParser.java @@ -1,11 +1,11 @@ package seedu.address.logic.parser; +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; + import seedu.address.commons.core.index.Index; import seedu.address.logic.commands.DeleteCommand; import seedu.address.logic.parser.exceptions.ParseException; -import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; - /** * Parses input arguments and creates a new DeleteCommand object */ diff --git a/src/main/java/seedu/address/logic/parser/DeleteReminderParser.java b/src/main/java/seedu/address/logic/parser/DeleteReminderParser.java index cd3a34889ac..012b50ae065 100644 --- a/src/main/java/seedu/address/logic/parser/DeleteReminderParser.java +++ b/src/main/java/seedu/address/logic/parser/DeleteReminderParser.java @@ -1,10 +1,10 @@ package seedu.address.logic.parser; +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; + import seedu.address.logic.commands.DeleteReminder; import seedu.address.logic.parser.exceptions.ParseException; -import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; - public class DeleteReminderParser implements Parser { @Override public DeleteReminder parse(String args) throws ParseException { diff --git a/src/main/java/seedu/address/logic/parser/EditCommandParser.java b/src/main/java/seedu/address/logic/parser/EditCommandParser.java index 2f8024606e2..2b11a6d230d 100644 --- a/src/main/java/seedu/address/logic/parser/EditCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/EditCommandParser.java @@ -1,19 +1,23 @@ package seedu.address.logic.parser; -import seedu.address.commons.core.index.Index; -import seedu.address.logic.commands.EditCommand; -import seedu.address.logic.commands.EditCommand.EditPersonDescriptor; -import seedu.address.logic.parser.exceptions.ParseException; -import seedu.address.model.tag.Tag; +import static java.util.Objects.requireNonNull; +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static seedu.address.logic.parser.CliSyntax.PREFIX_ADDRESS; +import static seedu.address.logic.parser.CliSyntax.PREFIX_EMAIL; +import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; +import static seedu.address.logic.parser.CliSyntax.PREFIX_PHONE; +import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG; import java.util.Collection; import java.util.Collections; import java.util.Optional; import java.util.Set; -import static java.util.Objects.requireNonNull; -import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; -import static seedu.address.logic.parser.CliSyntax.*; +import seedu.address.commons.core.index.Index; +import seedu.address.logic.commands.EditCommand; +import seedu.address.logic.commands.EditCommand.EditPersonDescriptor; +import seedu.address.logic.parser.exceptions.ParseException; +import seedu.address.model.tag.Tag; /** * Parses input arguments and creates a new EditCommand object diff --git a/src/main/java/seedu/address/logic/parser/FindCommandParser.java b/src/main/java/seedu/address/logic/parser/FindCommandParser.java index 2ca931d3b09..4f9f0d9efc7 100644 --- a/src/main/java/seedu/address/logic/parser/FindCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/FindCommandParser.java @@ -1,13 +1,13 @@ package seedu.address.logic.parser; +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; + import seedu.address.logic.commands.FindCommand; import seedu.address.logic.parser.exceptions.ParseException; import seedu.address.model.person.NameContainsKeywordsPredicate; import java.util.Arrays; -import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; - /** * Parses input arguments and creates a new FindCommand object */ diff --git a/src/main/java/seedu/address/logic/parser/ParserUtil.java b/src/main/java/seedu/address/logic/parser/ParserUtil.java index 9e0ca0bbb56..2f89b2c7c1b 100644 --- a/src/main/java/seedu/address/logic/parser/ParserUtil.java +++ b/src/main/java/seedu/address/logic/parser/ParserUtil.java @@ -1,5 +1,7 @@ package seedu.address.logic.parser; +import static java.util.Objects.requireNonNull; + import seedu.address.commons.core.index.Index; import seedu.address.commons.util.StringUtil; import seedu.address.logic.parser.exceptions.ParseException; @@ -13,8 +15,6 @@ import java.util.HashSet; import java.util.Set; -import static java.util.Objects.requireNonNull; - /** * Contains utility methods used for parsing strings in the various *Parser classes. */ diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 46071a33b37..aed3363af15 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -1,5 +1,7 @@ package seedu.address.model; +import static java.util.Objects.requireNonNull; + import javafx.collections.ObservableList; import seedu.address.model.person.Person; import seedu.address.model.person.UniquePersonList; @@ -8,8 +10,6 @@ import java.util.List; -import static java.util.Objects.requireNonNull; - /** * Wraps all data at the address-book level * Duplicates are not allowed (by .isSamePerson comparison) diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index d7e3c1cc115..83cc39ae031 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -1,5 +1,8 @@ package seedu.address.model; +import static java.util.Objects.requireNonNull; +import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; + import javafx.collections.ObservableList; import javafx.collections.transformation.FilteredList; import seedu.address.commons.core.GuiSettings; @@ -11,10 +14,6 @@ import java.util.function.Predicate; import java.util.logging.Logger; -import static java.util.Objects.requireNonNull; -import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; - - /** * Represents the in-memory model of the address book data. */ diff --git a/src/main/java/seedu/address/model/UserPrefs.java b/src/main/java/seedu/address/model/UserPrefs.java index 4ad40c13555..bff196fdcef 100644 --- a/src/main/java/seedu/address/model/UserPrefs.java +++ b/src/main/java/seedu/address/model/UserPrefs.java @@ -1,13 +1,13 @@ package seedu.address.model; +import static java.util.Objects.requireNonNull; + import seedu.address.commons.core.GuiSettings; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Objects; -import static java.util.Objects.requireNonNull; - /** * Represents User's preferences. */ diff --git a/src/main/java/seedu/address/model/person/Person.java b/src/main/java/seedu/address/model/person/Person.java index 4f1abce4ec9..a096bf6cbe6 100644 --- a/src/main/java/seedu/address/model/person/Person.java +++ b/src/main/java/seedu/address/model/person/Person.java @@ -1,14 +1,13 @@ package seedu.address.model.person; -import seedu.address.model.tag.Tag; +import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; +import seedu.address.model.tag.Tag; import java.util.Collections; import java.util.HashSet; import java.util.Objects; import java.util.Set; -import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; - /** * Represents a Person in the address book. * Guarantees: details are present and not null, field values are validated, immutable. diff --git a/src/main/java/seedu/address/model/person/UniquePersonList.java b/src/main/java/seedu/address/model/person/UniquePersonList.java index 05bd268c273..9bf9b99a5e4 100644 --- a/src/main/java/seedu/address/model/person/UniquePersonList.java +++ b/src/main/java/seedu/address/model/person/UniquePersonList.java @@ -1,5 +1,8 @@ package seedu.address.model.person; +import static java.util.Objects.requireNonNull; +import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; + import javafx.collections.FXCollections; import javafx.collections.ObservableList; import seedu.address.model.person.exceptions.DuplicatePersonException; @@ -8,9 +11,6 @@ import java.util.Iterator; import java.util.List; -import static java.util.Objects.requireNonNull; -import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; - /** * A list of persons that enforces uniqueness between its elements and does not allow nulls. * A person is considered unique by comparing using {@code Person#isSamePerson(Person)}. As such, adding and updating of diff --git a/src/main/java/seedu/address/model/reminder/Reminder.java b/src/main/java/seedu/address/model/reminder/Reminder.java index 30102dd5a60..b1c19dab435 100644 --- a/src/main/java/seedu/address/model/reminder/Reminder.java +++ b/src/main/java/seedu/address/model/reminder/Reminder.java @@ -1,10 +1,10 @@ package seedu.address.model.reminder; -import java.time.LocalDateTime; - import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; import static seedu.address.commons.util.DateTimeUtil.dateTimeToString; +import java.time.LocalDateTime; + /** * Represents a Reminder in the Reminders. * Guarantees: details are present and not null, field values are validated, immutable. diff --git a/src/main/java/seedu/address/model/reminder/ReminderList.java b/src/main/java/seedu/address/model/reminder/ReminderList.java index 93a03729b83..a354352fcfd 100644 --- a/src/main/java/seedu/address/model/reminder/ReminderList.java +++ b/src/main/java/seedu/address/model/reminder/ReminderList.java @@ -1,14 +1,14 @@ package seedu.address.model.reminder; +import static java.util.Objects.requireNonNull; +import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; + import javafx.collections.FXCollections; import javafx.collections.ObservableList; import java.util.Iterator; import java.util.List; -import static java.util.Objects.requireNonNull; -import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; - /** * A list of reminders that does not allow nulls. *

diff --git a/src/main/java/seedu/address/model/util/SampleDataUtil.java b/src/main/java/seedu/address/model/util/SampleDataUtil.java index fec7ea718d6..c497e29ebc4 100644 --- a/src/main/java/seedu/address/model/util/SampleDataUtil.java +++ b/src/main/java/seedu/address/model/util/SampleDataUtil.java @@ -1,14 +1,18 @@ package seedu.address.model.util; -import seedu.address.model.AddressBook; -import seedu.address.model.ReadOnlyAddressBook; -import seedu.address.model.person.*; -import seedu.address.model.tag.Tag; - import java.util.Arrays; import java.util.Set; import java.util.stream.Collectors; +import seedu.address.model.AddressBook; +import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.person.Address; +import seedu.address.model.person.Email; +import seedu.address.model.person.Name; +import seedu.address.model.person.Person; +import seedu.address.model.person.Phone; +import seedu.address.model.tag.Tag; + /** * Contains utility methods for populating {@code AddressBook} with sample data. */ diff --git a/src/main/java/seedu/address/storage/JsonAdaptedReminder.java b/src/main/java/seedu/address/storage/JsonAdaptedReminder.java index d74b7db31fe..af248d2f77d 100644 --- a/src/main/java/seedu/address/storage/JsonAdaptedReminder.java +++ b/src/main/java/seedu/address/storage/JsonAdaptedReminder.java @@ -1,11 +1,11 @@ package seedu.address.storage; +import static seedu.address.commons.util.DateTimeUtil.toDateTime; + import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import seedu.address.model.reminder.Reminder; -import static seedu.address.commons.util.DateTimeUtil.toDateTime; - /** * Jackson-friendly version of {@link Reminder}. */ diff --git a/src/main/java/seedu/address/storage/JsonAddressBookStorage.java b/src/main/java/seedu/address/storage/JsonAddressBookStorage.java index 30a871a085d..44c18ffb9e3 100644 --- a/src/main/java/seedu/address/storage/JsonAddressBookStorage.java +++ b/src/main/java/seedu/address/storage/JsonAddressBookStorage.java @@ -1,5 +1,7 @@ package seedu.address.storage; +import static java.util.Objects.requireNonNull; + import seedu.address.commons.core.LogsCenter; import seedu.address.commons.exceptions.DataConversionException; import seedu.address.commons.exceptions.IllegalValueException; @@ -12,8 +14,6 @@ import java.util.Optional; import java.util.logging.Logger; -import static java.util.Objects.requireNonNull; - /** * A class to access AddressBook data stored as a json file on the hard disk. */ diff --git a/src/main/java/seedu/address/ui/ResultDisplay.java b/src/main/java/seedu/address/ui/ResultDisplay.java index 51ac57ffd0c..7d98e84eedf 100644 --- a/src/main/java/seedu/address/ui/ResultDisplay.java +++ b/src/main/java/seedu/address/ui/ResultDisplay.java @@ -1,11 +1,11 @@ package seedu.address.ui; +import static java.util.Objects.requireNonNull; + import javafx.fxml.FXML; import javafx.scene.control.TextArea; import javafx.scene.layout.Region; -import static java.util.Objects.requireNonNull; - /** * A ui for the status bar that is displayed at the header of the application. */ diff --git a/src/main/java/seedu/address/ui/UiPart.java b/src/main/java/seedu/address/ui/UiPart.java index 3d36bc17554..2be07144b61 100644 --- a/src/main/java/seedu/address/ui/UiPart.java +++ b/src/main/java/seedu/address/ui/UiPart.java @@ -1,13 +1,13 @@ package seedu.address.ui; +import static java.util.Objects.requireNonNull; + import javafx.fxml.FXMLLoader; import seedu.address.MainApp; import java.io.IOException; import java.net.URL; -import static java.util.Objects.requireNonNull; - /** * Represents a distinct part of the UI. e.g. Windows, dialogs, panels, status bars, etc. * It contains a scene graph with a root node of type {@code T}. From 5e397b503f2888b84d8cb53557e3e9d4d6251569 Mon Sep 17 00:00:00 2001 From: ChinJunAn Date: Sun, 12 Mar 2023 12:40:01 +0800 Subject: [PATCH 085/470] Fix test case for "AddCommand" --- .../address/logic/commands/AddCommandTest.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/test/java/seedu/address/logic/commands/AddCommandTest.java b/src/test/java/seedu/address/logic/commands/AddCommandTest.java index 5865713d5dd..6f605f0e6c7 100644 --- a/src/test/java/seedu/address/logic/commands/AddCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/AddCommandTest.java @@ -21,6 +21,7 @@ import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.ReadOnlyUserPrefs; import seedu.address.model.person.Person; +import seedu.address.model.reminder.Reminder; import seedu.address.testutil.PersonBuilder; public class AddCommandTest { @@ -147,6 +148,21 @@ public ObservableList getFilteredPersonList() { public void updateFilteredPersonList(Predicate predicate) { throw new AssertionError("This method should not be called."); } + + @Override + public void deleteReminder(int i) { + throw new AssertionError("This method should not be called."); + } + + @Override + public void addReminder(Reminder reminder) { + throw new AssertionError("This method should not be called."); + } + + @Override + public ObservableList getReminderList() { + throw new AssertionError("This method should not be called."); + } } /** From abad28a30c86b53b501bb751c86eafc3bd92a968 Mon Sep 17 00:00:00 2001 From: ChinJunAn Date: Sun, 12 Mar 2023 12:46:10 +0800 Subject: [PATCH 086/470] Fix CI error --- src/main/java/seedu/address/ui/NotificationManager.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/seedu/address/ui/NotificationManager.java b/src/main/java/seedu/address/ui/NotificationManager.java index 04585535329..d67deddb29c 100644 --- a/src/main/java/seedu/address/ui/NotificationManager.java +++ b/src/main/java/seedu/address/ui/NotificationManager.java @@ -79,5 +79,4 @@ public void show(String title, String text) { .position(position); notificationBuilder.showConfirm(); } - } \ No newline at end of file From ec0ccbac5258d2b606127df256ffafede0081188 Mon Sep 17 00:00:00 2001 From: ChinJunAn Date: Sun, 12 Mar 2023 12:47:28 +0800 Subject: [PATCH 087/470] Fix CI error --- src/main/java/seedu/address/ui/NotificationManager.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/seedu/address/ui/NotificationManager.java b/src/main/java/seedu/address/ui/NotificationManager.java index d67deddb29c..036d6fd8397 100644 --- a/src/main/java/seedu/address/ui/NotificationManager.java +++ b/src/main/java/seedu/address/ui/NotificationManager.java @@ -79,4 +79,5 @@ public void show(String title, String text) { .position(position); notificationBuilder.showConfirm(); } + } \ No newline at end of file From d246f56bd35cf931345d7cb29913b300bab44092 Mon Sep 17 00:00:00 2001 From: ChinJunAn Date: Sun, 12 Mar 2023 12:49:35 +0800 Subject: [PATCH 088/470] fix CI error --- src/main/java/seedu/address/ui/NotificationManager.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/seedu/address/ui/NotificationManager.java b/src/main/java/seedu/address/ui/NotificationManager.java index 036d6fd8397..5d558f4c492 100644 --- a/src/main/java/seedu/address/ui/NotificationManager.java +++ b/src/main/java/seedu/address/ui/NotificationManager.java @@ -79,5 +79,4 @@ public void show(String title, String text) { .position(position); notificationBuilder.showConfirm(); } - -} \ No newline at end of file +} From e0ed4fbc7faf57b5ea47ef78683decbd79c14089 Mon Sep 17 00:00:00 2001 From: ChinJunAn Date: Sun, 12 Mar 2023 13:38:52 +0800 Subject: [PATCH 089/470] Fix according to checkstyle --- .../java/seedu/address/AppParameters.java | 8 ++-- src/main/java/seedu/address/MainApp.java | 6 ++- .../seedu/address/commons/core/Config.java | 1 - .../seedu/address/commons/core/Version.java | 6 +-- .../seedu/address/commons/util/AppUtil.java | 5 +-- .../address/commons/util/CollectionUtil.java | 4 +- .../address/commons/util/ConfigUtil.java | 5 +-- .../address/commons/util/DateTimeUtil.java | 5 ++- .../seedu/address/commons/util/JsonUtil.java | 19 ++++----- src/main/java/seedu/address/logic/Logic.java | 4 +- .../seedu/address/logic/LogicManager.java | 8 ++-- .../address/logic/commands/AddCommand.java | 1 - .../address/logic/commands/AddReminder.java | 3 ++ .../address/logic/commands/DeleteCommand.java | 4 +- .../logic/commands/DeleteReminder.java | 7 +++- .../address/logic/commands/ListReminder.java | 3 ++ .../logic/parser/AddReminderParser.java | 11 ++++-- .../logic/parser/AddressBookParser.java | 13 ++++++- .../logic/parser/DeleteReminderParser.java | 3 ++ .../logic/parser/FindCommandParser.java | 4 +- .../address/logic/parser/ParserUtil.java | 8 ++-- .../java/seedu/address/model/AddressBook.java | 18 ++++----- src/main/java/seedu/address/model/Model.java | 6 +-- .../seedu/address/model/ModelManager.java | 8 ++-- .../address/model/ReadOnlyUserPrefs.java | 4 +- .../java/seedu/address/model/UserPrefs.java | 4 +- .../person/NameContainsKeywordsPredicate.java | 4 +- .../seedu/address/model/person/Person.java | 3 +- .../model/person/UniquePersonList.java | 6 +-- .../address/model/reminder/Reminder.java | 10 ++++- .../address/model/reminder/ReminderList.java | 6 +-- .../address/model/util/SampleDataUtil.java | 36 ++++++++--------- .../address/storage/AddressBookStorage.java | 6 +-- .../address/storage/JsonAdaptedPerson.java | 18 +++++---- .../address/storage/JsonAdaptedReminder.java | 1 + .../seedu/address/storage/JsonAdaptedTag.java | 1 + .../storage/JsonAddressBookStorage.java | 10 ++--- .../storage/JsonSerializableAddressBook.java | 15 ++++--- .../address/storage/JsonUserPrefsStorage.java | 8 ++-- .../java/seedu/address/storage/Storage.java | 8 ++-- .../seedu/address/storage/StorageManager.java | 10 ++--- .../address/storage/UserPrefsStorage.java | 8 ++-- .../java/seedu/address/ui/HelpWindow.java | 34 ++++++++-------- .../java/seedu/address/ui/MainWindow.java | 4 +- .../seedu/address/ui/NotificationManager.java | 39 +++++++++++++++++-- .../java/seedu/address/ui/PersonCard.java | 4 +- .../seedu/address/ui/PersonListPanel.java | 4 +- .../seedu/address/ui/StatusBarFooter.java | 6 +-- src/main/java/seedu/address/ui/UiManager.java | 36 ++++++++--------- src/main/java/seedu/address/ui/UiPart.java | 6 +-- .../seedu/address/model/AddressBookTest.java | 7 ++++ 51 files changed, 272 insertions(+), 186 deletions(-) diff --git a/src/main/java/seedu/address/AppParameters.java b/src/main/java/seedu/address/AppParameters.java index 6a363922a93..56c76c7f73f 100644 --- a/src/main/java/seedu/address/AppParameters.java +++ b/src/main/java/seedu/address/AppParameters.java @@ -1,15 +1,15 @@ package seedu.address; -import javafx.application.Application; -import seedu.address.commons.core.LogsCenter; -import seedu.address.commons.util.FileUtil; - import java.nio.file.Path; import java.nio.file.Paths; import java.util.Map; import java.util.Objects; import java.util.logging.Logger; +import javafx.application.Application; +import seedu.address.commons.core.LogsCenter; +import seedu.address.commons.util.FileUtil; + /** * Represents the parsed command-line parameters given to the application. */ diff --git a/src/main/java/seedu/address/MainApp.java b/src/main/java/seedu/address/MainApp.java index 7a9ed59b4a2..79e45502488 100644 --- a/src/main/java/seedu/address/MainApp.java +++ b/src/main/java/seedu/address/MainApp.java @@ -85,10 +85,12 @@ private Model initModelManager(Storage storage, ReadOnlyUserPrefs userPrefs) { initialData = addressBookOptional.orElseGet(SampleDataUtil::getSampleAddressBook); } catch (DataConversionException e) { - logger.warning("Data file not in the correct format. Will be starting with an empty AddressBook and Reminders"); + logger.warning("Data file not in the correct format. " + + "Will be starting with an empty AddressBook and Reminders"); initialData = new AddressBook(); } catch (IOException e) { - logger.warning("Problem while reading from the file. Will be starting with an empty AddressBook and Reminders"); + logger.warning("Problem while reading from the file. " + + "Will be starting with an empty AddressBook and Reminders"); initialData = new AddressBook(); } diff --git a/src/main/java/seedu/address/commons/core/Config.java b/src/main/java/seedu/address/commons/core/Config.java index f0084f846f3..91145745521 100644 --- a/src/main/java/seedu/address/commons/core/Config.java +++ b/src/main/java/seedu/address/commons/core/Config.java @@ -2,7 +2,6 @@ import java.nio.file.Path; import java.nio.file.Paths; - import java.util.Objects; import java.util.logging.Level; diff --git a/src/main/java/seedu/address/commons/core/Version.java b/src/main/java/seedu/address/commons/core/Version.java index 20d3302cac5..7e897b61257 100644 --- a/src/main/java/seedu/address/commons/core/Version.java +++ b/src/main/java/seedu/address/commons/core/Version.java @@ -1,11 +1,11 @@ package seedu.address.commons.core; -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonValue; - import java.util.regex.Matcher; import java.util.regex.Pattern; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + /** * Represents a version with major, minor and patch number */ diff --git a/src/main/java/seedu/address/commons/util/AppUtil.java b/src/main/java/seedu/address/commons/util/AppUtil.java index 1e06944bd92..c0992318360 100644 --- a/src/main/java/seedu/address/commons/util/AppUtil.java +++ b/src/main/java/seedu/address/commons/util/AppUtil.java @@ -1,10 +1,9 @@ package seedu.address.commons.util; -import javafx.scene.image.Image; -import seedu.address.MainApp; - import static java.util.Objects.requireNonNull; +import javafx.scene.image.Image; +import seedu.address.MainApp; /** * A container for App specific utility functions */ diff --git a/src/main/java/seedu/address/commons/util/CollectionUtil.java b/src/main/java/seedu/address/commons/util/CollectionUtil.java index 62de09a7606..942edda97d7 100644 --- a/src/main/java/seedu/address/commons/util/CollectionUtil.java +++ b/src/main/java/seedu/address/commons/util/CollectionUtil.java @@ -1,12 +1,12 @@ package seedu.address.commons.util; +import static java.util.Objects.requireNonNull; + import java.util.Arrays; import java.util.Collection; import java.util.Objects; import java.util.stream.Stream; -import static java.util.Objects.requireNonNull; - /** * Utility methods related to Collections */ diff --git a/src/main/java/seedu/address/commons/util/ConfigUtil.java b/src/main/java/seedu/address/commons/util/ConfigUtil.java index 98a29a81668..0cefc577a11 100644 --- a/src/main/java/seedu/address/commons/util/ConfigUtil.java +++ b/src/main/java/seedu/address/commons/util/ConfigUtil.java @@ -1,12 +1,11 @@ package seedu.address.commons.util; -import seedu.address.commons.core.Config; -import seedu.address.commons.exceptions.DataConversionException; - import java.io.IOException; import java.nio.file.Path; import java.util.Optional; +import seedu.address.commons.core.Config; +import seedu.address.commons.exceptions.DataConversionException; /** * A class for accessing the Config File. */ diff --git a/src/main/java/seedu/address/commons/util/DateTimeUtil.java b/src/main/java/seedu/address/commons/util/DateTimeUtil.java index f0e7b70055d..11ba3dc2980 100644 --- a/src/main/java/seedu/address/commons/util/DateTimeUtil.java +++ b/src/main/java/seedu/address/commons/util/DateTimeUtil.java @@ -3,8 +3,11 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; +/** + * Utility methods to parse LocalDateTime to String, vice versa. + */ public class DateTimeUtil { - public final static DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); + public static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); public static LocalDateTime toDateTime(String s) { return LocalDateTime.parse(s, DATE_TIME_FORMATTER); diff --git a/src/main/java/seedu/address/commons/util/JsonUtil.java b/src/main/java/seedu/address/commons/util/JsonUtil.java index d1d791a0031..8d1143d5ce0 100644 --- a/src/main/java/seedu/address/commons/util/JsonUtil.java +++ b/src/main/java/seedu/address/commons/util/JsonUtil.java @@ -1,5 +1,14 @@ package seedu.address.commons.util; +import static java.util.Objects.requireNonNull; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.Optional; +import java.util.logging.Level; +import java.util.logging.Logger; + import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.core.JsonProcessingException; @@ -10,18 +19,10 @@ import com.fasterxml.jackson.databind.deser.std.FromStringDeserializer; import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; + import seedu.address.commons.core.LogsCenter; import seedu.address.commons.exceptions.DataConversionException; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.Optional; -import java.util.logging.Level; -import java.util.logging.Logger; - -import static java.util.Objects.requireNonNull; - /** * Converts a Java object instance to JSON and vice versa */ diff --git a/src/main/java/seedu/address/logic/Logic.java b/src/main/java/seedu/address/logic/Logic.java index d05a39c9373..7eb3c570fee 100644 --- a/src/main/java/seedu/address/logic/Logic.java +++ b/src/main/java/seedu/address/logic/Logic.java @@ -1,5 +1,7 @@ package seedu.address.logic; +import java.nio.file.Path; + import javafx.collections.ObservableList; import seedu.address.commons.core.GuiSettings; import seedu.address.logic.commands.CommandResult; @@ -9,8 +11,6 @@ import seedu.address.model.person.Person; import seedu.address.model.reminder.Reminder; -import java.nio.file.Path; - /** * API of the Logic component */ diff --git a/src/main/java/seedu/address/logic/LogicManager.java b/src/main/java/seedu/address/logic/LogicManager.java index 0a0f9407f7f..c1f0d572a58 100644 --- a/src/main/java/seedu/address/logic/LogicManager.java +++ b/src/main/java/seedu/address/logic/LogicManager.java @@ -1,5 +1,9 @@ package seedu.address.logic; +import java.io.IOException; +import java.nio.file.Path; +import java.util.logging.Logger; + import javafx.collections.ObservableList; import seedu.address.commons.core.GuiSettings; import seedu.address.commons.core.LogsCenter; @@ -14,10 +18,6 @@ import seedu.address.model.reminder.Reminder; import seedu.address.storage.Storage; -import java.io.IOException; -import java.nio.file.Path; -import java.util.logging.Logger; - /** * The main LogicManager of the app. */ diff --git a/src/main/java/seedu/address/logic/commands/AddCommand.java b/src/main/java/seedu/address/logic/commands/AddCommand.java index 82923a0dd5d..db9ca938c6b 100644 --- a/src/main/java/seedu/address/logic/commands/AddCommand.java +++ b/src/main/java/seedu/address/logic/commands/AddCommand.java @@ -1,7 +1,6 @@ package seedu.address.logic.commands; import static java.util.Objects.requireNonNull; - import static seedu.address.logic.parser.CliSyntax.PREFIX_ADDRESS; import static seedu.address.logic.parser.CliSyntax.PREFIX_EMAIL; import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; diff --git a/src/main/java/seedu/address/logic/commands/AddReminder.java b/src/main/java/seedu/address/logic/commands/AddReminder.java index dddec36170c..33b78ab5a07 100644 --- a/src/main/java/seedu/address/logic/commands/AddReminder.java +++ b/src/main/java/seedu/address/logic/commands/AddReminder.java @@ -8,6 +8,9 @@ import seedu.address.model.Model; import seedu.address.model.reminder.Reminder; +/** + * Adds a reminder to the address book. + */ public class AddReminder extends Command { public static final String COMMAND_WORD = "add_reminder"; diff --git a/src/main/java/seedu/address/logic/commands/DeleteCommand.java b/src/main/java/seedu/address/logic/commands/DeleteCommand.java index 1ca7e51ba75..02fd256acba 100644 --- a/src/main/java/seedu/address/logic/commands/DeleteCommand.java +++ b/src/main/java/seedu/address/logic/commands/DeleteCommand.java @@ -2,14 +2,14 @@ import static java.util.Objects.requireNonNull; +import java.util.List; + import seedu.address.commons.core.Messages; import seedu.address.commons.core.index.Index; import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.Model; import seedu.address.model.person.Person; -import java.util.List; - /** * Deletes a person identified using it's displayed index from the address book. */ diff --git a/src/main/java/seedu/address/logic/commands/DeleteReminder.java b/src/main/java/seedu/address/logic/commands/DeleteReminder.java index ab811b7415b..013c296c400 100644 --- a/src/main/java/seedu/address/logic/commands/DeleteReminder.java +++ b/src/main/java/seedu/address/logic/commands/DeleteReminder.java @@ -2,13 +2,16 @@ import static java.util.Objects.requireNonNull; +import java.util.List; + import seedu.address.commons.core.Messages; import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.Model; import seedu.address.model.reminder.Reminder; -import java.util.List; - +/** + * Deletes a reminder using it's displayed index from notifications. + */ public class DeleteReminder extends Command { public static final String COMMAND_WORD = "delete_reminder"; diff --git a/src/main/java/seedu/address/logic/commands/ListReminder.java b/src/main/java/seedu/address/logic/commands/ListReminder.java index 753b3db665f..8c73939ab40 100644 --- a/src/main/java/seedu/address/logic/commands/ListReminder.java +++ b/src/main/java/seedu/address/logic/commands/ListReminder.java @@ -5,6 +5,9 @@ import seedu.address.model.Model; import seedu.address.ui.NotificationManager; +/** + * Lists all reminders as Notifications to the user. + */ public class ListReminder extends Command { public static final String COMMAND_WORD = "list_reminder"; diff --git a/src/main/java/seedu/address/logic/parser/AddReminderParser.java b/src/main/java/seedu/address/logic/parser/AddReminderParser.java index ffc6d0215fb..6361888dedb 100644 --- a/src/main/java/seedu/address/logic/parser/AddReminderParser.java +++ b/src/main/java/seedu/address/logic/parser/AddReminderParser.java @@ -4,15 +4,18 @@ import static seedu.address.logic.parser.CliSyntax.PREFIX_DESCRIPTION; import static seedu.address.logic.parser.CliSyntax.PREFIX_TIME; +import java.time.LocalDateTime; +import java.time.format.DateTimeParseException; +import java.util.stream.Stream; + import seedu.address.commons.util.DateTimeUtil; import seedu.address.logic.commands.AddReminder; import seedu.address.logic.parser.exceptions.ParseException; import seedu.address.model.reminder.Reminder; -import java.time.LocalDateTime; -import java.time.format.DateTimeParseException; -import java.util.stream.Stream; - +/** + * Parses input arguments and creates a new AddReminder object + */ public class AddReminderParser implements Parser { /** diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index e837f1e418c..769c9d987a0 100644 --- a/src/main/java/seedu/address/logic/parser/AddressBookParser.java +++ b/src/main/java/seedu/address/logic/parser/AddressBookParser.java @@ -6,7 +6,18 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; -import seedu.address.logic.commands.*; +import seedu.address.logic.commands.AddCommand; +import seedu.address.logic.commands.AddReminder; +import seedu.address.logic.commands.ClearCommand; +import seedu.address.logic.commands.Command; +import seedu.address.logic.commands.DeleteCommand; +import seedu.address.logic.commands.DeleteReminder; +import seedu.address.logic.commands.EditCommand; +import seedu.address.logic.commands.ExitCommand; +import seedu.address.logic.commands.FindCommand; +import seedu.address.logic.commands.HelpCommand; +import seedu.address.logic.commands.ListCommand; +import seedu.address.logic.commands.ListReminder; import seedu.address.logic.parser.exceptions.ParseException; /** diff --git a/src/main/java/seedu/address/logic/parser/DeleteReminderParser.java b/src/main/java/seedu/address/logic/parser/DeleteReminderParser.java index 012b50ae065..fd5ce870d47 100644 --- a/src/main/java/seedu/address/logic/parser/DeleteReminderParser.java +++ b/src/main/java/seedu/address/logic/parser/DeleteReminderParser.java @@ -5,6 +5,9 @@ import seedu.address.logic.commands.DeleteReminder; import seedu.address.logic.parser.exceptions.ParseException; +/** + * Parses input arguments and creates a new DeleteReminder object + */ public class DeleteReminderParser implements Parser { @Override public DeleteReminder parse(String args) throws ParseException { diff --git a/src/main/java/seedu/address/logic/parser/FindCommandParser.java b/src/main/java/seedu/address/logic/parser/FindCommandParser.java index 4f9f0d9efc7..b0906713be0 100644 --- a/src/main/java/seedu/address/logic/parser/FindCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/FindCommandParser.java @@ -2,12 +2,12 @@ import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import java.util.Arrays; + import seedu.address.logic.commands.FindCommand; import seedu.address.logic.parser.exceptions.ParseException; import seedu.address.model.person.NameContainsKeywordsPredicate; -import java.util.Arrays; - /** * Parses input arguments and creates a new FindCommand object */ diff --git a/src/main/java/seedu/address/logic/parser/ParserUtil.java b/src/main/java/seedu/address/logic/parser/ParserUtil.java index 2f89b2c7c1b..2a8a16d4ca7 100644 --- a/src/main/java/seedu/address/logic/parser/ParserUtil.java +++ b/src/main/java/seedu/address/logic/parser/ParserUtil.java @@ -2,6 +2,10 @@ import static java.util.Objects.requireNonNull; +import java.util.Collection; +import java.util.HashSet; +import java.util.Set; + import seedu.address.commons.core.index.Index; import seedu.address.commons.util.StringUtil; import seedu.address.logic.parser.exceptions.ParseException; @@ -11,10 +15,6 @@ import seedu.address.model.person.Phone; import seedu.address.model.tag.Tag; -import java.util.Collection; -import java.util.HashSet; -import java.util.Set; - /** * Contains utility methods used for parsing strings in the various *Parser classes. */ diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index aed3363af15..57e0416aa7e 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -2,14 +2,14 @@ import static java.util.Objects.requireNonNull; +import java.util.List; + import javafx.collections.ObservableList; import seedu.address.model.person.Person; import seedu.address.model.person.UniquePersonList; import seedu.address.model.reminder.Reminder; import seedu.address.model.reminder.ReminderList; -import java.util.List; - /** * Wraps all data at the address-book level * Duplicates are not allowed (by .isSamePerson comparison) @@ -18,14 +18,14 @@ public class AddressBook implements ReadOnlyAddressBook { private final UniquePersonList persons; private final ReminderList reminderList; - /* - * The 'unusual' code block below is a non-static initialization block, sometimes used to avoid duplication - * between constructors. See https://docs.oracle.com/javase/tutorial/java/javaOO/initial.html - * - * Note that non-static init blocks are not recommended to use. There are other ways to avoid duplication - * among constructors. - */ { + * The 'unusual' code block below is a non-static initialization block, sometimes used to avoid duplication + * between constructors. See https://docs.oracle.com/javase/tutorial/java/javaOO/initial.html + * + * Note that non-static init blocks are not recommended to use. There are other ways to avoid duplication + * among constructors. + */ + { persons = new UniquePersonList(); reminderList = new ReminderList(); } diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index adef59f6022..a3afc673394 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -1,13 +1,13 @@ package seedu.address.model; +import java.nio.file.Path; +import java.util.function.Predicate; + import javafx.collections.ObservableList; import seedu.address.commons.core.GuiSettings; import seedu.address.model.person.Person; import seedu.address.model.reminder.Reminder; -import java.nio.file.Path; -import java.util.function.Predicate; - /** * The API of the Model component. */ diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 83cc39ae031..bb7725b978b 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -3,6 +3,10 @@ import static java.util.Objects.requireNonNull; import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; +import java.nio.file.Path; +import java.util.function.Predicate; +import java.util.logging.Logger; + import javafx.collections.ObservableList; import javafx.collections.transformation.FilteredList; import seedu.address.commons.core.GuiSettings; @@ -10,10 +14,6 @@ import seedu.address.model.person.Person; import seedu.address.model.reminder.Reminder; -import java.nio.file.Path; -import java.util.function.Predicate; -import java.util.logging.Logger; - /** * Represents the in-memory model of the address book data. */ diff --git a/src/main/java/seedu/address/model/ReadOnlyUserPrefs.java b/src/main/java/seedu/address/model/ReadOnlyUserPrefs.java index bbd3212b799..befd58a4c73 100644 --- a/src/main/java/seedu/address/model/ReadOnlyUserPrefs.java +++ b/src/main/java/seedu/address/model/ReadOnlyUserPrefs.java @@ -1,9 +1,9 @@ package seedu.address.model; -import seedu.address.commons.core.GuiSettings; - import java.nio.file.Path; +import seedu.address.commons.core.GuiSettings; + /** * Unmodifiable view of user prefs. */ diff --git a/src/main/java/seedu/address/model/UserPrefs.java b/src/main/java/seedu/address/model/UserPrefs.java index bff196fdcef..e50272fa7f5 100644 --- a/src/main/java/seedu/address/model/UserPrefs.java +++ b/src/main/java/seedu/address/model/UserPrefs.java @@ -2,12 +2,12 @@ import static java.util.Objects.requireNonNull; -import seedu.address.commons.core.GuiSettings; - import java.nio.file.Path; import java.nio.file.Paths; import java.util.Objects; +import seedu.address.commons.core.GuiSettings; + /** * Represents User's preferences. */ diff --git a/src/main/java/seedu/address/model/person/NameContainsKeywordsPredicate.java b/src/main/java/seedu/address/model/person/NameContainsKeywordsPredicate.java index 7206c37579a..c9b5868427c 100644 --- a/src/main/java/seedu/address/model/person/NameContainsKeywordsPredicate.java +++ b/src/main/java/seedu/address/model/person/NameContainsKeywordsPredicate.java @@ -1,10 +1,10 @@ package seedu.address.model.person; -import seedu.address.commons.util.StringUtil; - import java.util.List; import java.util.function.Predicate; +import seedu.address.commons.util.StringUtil; + /** * Tests that a {@code Person}'s {@code Name} matches any of the keywords given. */ diff --git a/src/main/java/seedu/address/model/person/Person.java b/src/main/java/seedu/address/model/person/Person.java index a096bf6cbe6..8ff1d83fe89 100644 --- a/src/main/java/seedu/address/model/person/Person.java +++ b/src/main/java/seedu/address/model/person/Person.java @@ -2,12 +2,13 @@ import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; -import seedu.address.model.tag.Tag; import java.util.Collections; import java.util.HashSet; import java.util.Objects; import java.util.Set; +import seedu.address.model.tag.Tag; + /** * Represents a Person in the address book. * Guarantees: details are present and not null, field values are validated, immutable. diff --git a/src/main/java/seedu/address/model/person/UniquePersonList.java b/src/main/java/seedu/address/model/person/UniquePersonList.java index 9bf9b99a5e4..e39f688c1e9 100644 --- a/src/main/java/seedu/address/model/person/UniquePersonList.java +++ b/src/main/java/seedu/address/model/person/UniquePersonList.java @@ -3,14 +3,14 @@ import static java.util.Objects.requireNonNull; import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; +import java.util.Iterator; +import java.util.List; + import javafx.collections.FXCollections; import javafx.collections.ObservableList; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; -import java.util.Iterator; -import java.util.List; - /** * A list of persons that enforces uniqueness between its elements and does not allow nulls. * A person is considered unique by comparing using {@code Person#isSamePerson(Person)}. As such, adding and updating of diff --git a/src/main/java/seedu/address/model/reminder/Reminder.java b/src/main/java/seedu/address/model/reminder/Reminder.java index b1c19dab435..6fc0bbf49c9 100644 --- a/src/main/java/seedu/address/model/reminder/Reminder.java +++ b/src/main/java/seedu/address/model/reminder/Reminder.java @@ -13,7 +13,11 @@ public class Reminder { private final String description; private final LocalDateTime reminderDateTime; - + /** + * Constructor to create a Reminder object. + * @param description Description of the reminder. Description can be left blank, but not null (ie. ""). + * @param reminderDateTime When the reminder will be activated. Cannot be null. + */ public Reminder(String description, LocalDateTime reminderDateTime) { requireAllNonNull(description, reminderDateTime); this.description = description; @@ -32,6 +36,10 @@ public String reminderDateTimeToString() { return dateTimeToString(reminderDateTime); } + /** + * Returns Description of reminder + * @return Description + */ public String toString() { final StringBuilder builder = new StringBuilder(); builder.append(getDescription()); diff --git a/src/main/java/seedu/address/model/reminder/ReminderList.java b/src/main/java/seedu/address/model/reminder/ReminderList.java index a354352fcfd..65474c0f4b7 100644 --- a/src/main/java/seedu/address/model/reminder/ReminderList.java +++ b/src/main/java/seedu/address/model/reminder/ReminderList.java @@ -3,12 +3,12 @@ import static java.util.Objects.requireNonNull; import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; -import javafx.collections.FXCollections; -import javafx.collections.ObservableList; - import java.util.Iterator; import java.util.List; +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; + /** * A list of reminders that does not allow nulls. *

diff --git a/src/main/java/seedu/address/model/util/SampleDataUtil.java b/src/main/java/seedu/address/model/util/SampleDataUtil.java index c497e29ebc4..c21fd38c76f 100644 --- a/src/main/java/seedu/address/model/util/SampleDataUtil.java +++ b/src/main/java/seedu/address/model/util/SampleDataUtil.java @@ -19,24 +19,24 @@ public class SampleDataUtil { public static Person[] getSamplePersons() { return new Person[]{ - new Person(new Name("Alex Yeoh"), new Phone("87438807"), new Email("alexyeoh@example.com"), - new Address("Blk 30 Geylang Street 29, #06-40"), - getTagSet("friends")), - new Person(new Name("Bernice Yu"), new Phone("99272758"), new Email("berniceyu@example.com"), - new Address("Blk 30 Lorong 3 Serangoon Gardens, #07-18"), - getTagSet("colleagues", "friends")), - new Person(new Name("Charlotte Oliveiro"), new Phone("93210283"), new Email("charlotte@example.com"), - new Address("Blk 11 Ang Mo Kio Street 74, #11-04"), - getTagSet("neighbours")), - new Person(new Name("David Li"), new Phone("91031282"), new Email("lidavid@example.com"), - new Address("Blk 436 Serangoon Gardens Street 26, #16-43"), - getTagSet("family")), - new Person(new Name("Irfan Ibrahim"), new Phone("92492021"), new Email("irfan@example.com"), - new Address("Blk 47 Tampines Street 20, #17-35"), - getTagSet("classmates")), - new Person(new Name("Roy Balakrishnan"), new Phone("92624417"), new Email("royb@example.com"), - new Address("Blk 45 Aljunied Street 85, #11-31"), - getTagSet("colleagues")) + new Person(new Name("Alex Yeoh"), new Phone("87438807"), new Email("alexyeoh@example.com"), + new Address("Blk 30 Geylang Street 29, #06-40"), + getTagSet("friends")), + new Person(new Name("Bernice Yu"), new Phone("99272758"), new Email("berniceyu@example.com"), + new Address("Blk 30 Lorong 3 Serangoon Gardens, #07-18"), + getTagSet("colleagues", "friends")), + new Person(new Name("Charlotte Oliveiro"), new Phone("93210283"), new Email("charlotte@example.com"), + new Address("Blk 11 Ang Mo Kio Street 74, #11-04"), + getTagSet("neighbours")), + new Person(new Name("David Li"), new Phone("91031282"), new Email("lidavid@example.com"), + new Address("Blk 436 Serangoon Gardens Street 26, #16-43"), + getTagSet("family")), + new Person(new Name("Irfan Ibrahim"), new Phone("92492021"), new Email("irfan@example.com"), + new Address("Blk 47 Tampines Street 20, #17-35"), + getTagSet("classmates")), + new Person(new Name("Roy Balakrishnan"), new Phone("92624417"), new Email("royb@example.com"), + new Address("Blk 45 Aljunied Street 85, #11-31"), + getTagSet("colleagues")) }; } diff --git a/src/main/java/seedu/address/storage/AddressBookStorage.java b/src/main/java/seedu/address/storage/AddressBookStorage.java index f5652b58446..f98d1376317 100644 --- a/src/main/java/seedu/address/storage/AddressBookStorage.java +++ b/src/main/java/seedu/address/storage/AddressBookStorage.java @@ -1,12 +1,12 @@ package seedu.address.storage; -import seedu.address.commons.exceptions.DataConversionException; -import seedu.address.model.ReadOnlyAddressBook; - import java.io.IOException; import java.nio.file.Path; import java.util.Optional; +import seedu.address.commons.exceptions.DataConversionException; +import seedu.address.model.ReadOnlyAddressBook; + /** * Represents a storage for {@link seedu.address.model.AddressBook}. */ diff --git a/src/main/java/seedu/address/storage/JsonAdaptedPerson.java b/src/main/java/seedu/address/storage/JsonAdaptedPerson.java index 308715f6a27..cf2a20400f5 100644 --- a/src/main/java/seedu/address/storage/JsonAdaptedPerson.java +++ b/src/main/java/seedu/address/storage/JsonAdaptedPerson.java @@ -1,24 +1,28 @@ package seedu.address.storage; -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonProperty; -import seedu.address.commons.exceptions.IllegalValueException; -import seedu.address.model.person.*; -import seedu.address.model.tag.Tag; - import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.stream.Collectors; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; + +import seedu.address.commons.exceptions.IllegalValueException; +import seedu.address.model.person.Address; +import seedu.address.model.person.Email; +import seedu.address.model.person.Name; +import seedu.address.model.person.Person; +import seedu.address.model.person.Phone; +import seedu.address.model.tag.Tag; + /** * Jackson-friendly version of {@link Person}. */ class JsonAdaptedPerson { public static final String MISSING_FIELD_MESSAGE_FORMAT = "Person's %s field is missing!"; - private final String name; private final String phone; private final String email; diff --git a/src/main/java/seedu/address/storage/JsonAdaptedReminder.java b/src/main/java/seedu/address/storage/JsonAdaptedReminder.java index af248d2f77d..9a84d6a3c8d 100644 --- a/src/main/java/seedu/address/storage/JsonAdaptedReminder.java +++ b/src/main/java/seedu/address/storage/JsonAdaptedReminder.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; + import seedu.address.model.reminder.Reminder; /** diff --git a/src/main/java/seedu/address/storage/JsonAdaptedTag.java b/src/main/java/seedu/address/storage/JsonAdaptedTag.java index dd5ad9399c7..0df22bdb754 100644 --- a/src/main/java/seedu/address/storage/JsonAdaptedTag.java +++ b/src/main/java/seedu/address/storage/JsonAdaptedTag.java @@ -2,6 +2,7 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; + import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.model.tag.Tag; diff --git a/src/main/java/seedu/address/storage/JsonAddressBookStorage.java b/src/main/java/seedu/address/storage/JsonAddressBookStorage.java index 44c18ffb9e3..dfab9daaa0d 100644 --- a/src/main/java/seedu/address/storage/JsonAddressBookStorage.java +++ b/src/main/java/seedu/address/storage/JsonAddressBookStorage.java @@ -2,6 +2,11 @@ import static java.util.Objects.requireNonNull; +import java.io.IOException; +import java.nio.file.Path; +import java.util.Optional; +import java.util.logging.Logger; + import seedu.address.commons.core.LogsCenter; import seedu.address.commons.exceptions.DataConversionException; import seedu.address.commons.exceptions.IllegalValueException; @@ -9,11 +14,6 @@ import seedu.address.commons.util.JsonUtil; import seedu.address.model.ReadOnlyAddressBook; -import java.io.IOException; -import java.nio.file.Path; -import java.util.Optional; -import java.util.logging.Logger; - /** * A class to access AddressBook data stored as a json file on the hard disk. */ diff --git a/src/main/java/seedu/address/storage/JsonSerializableAddressBook.java b/src/main/java/seedu/address/storage/JsonSerializableAddressBook.java index b35f27febbe..62fda7d9857 100644 --- a/src/main/java/seedu/address/storage/JsonSerializableAddressBook.java +++ b/src/main/java/seedu/address/storage/JsonSerializableAddressBook.java @@ -1,18 +1,19 @@ package seedu.address.storage; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonRootName; + import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.model.AddressBook; import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.person.Person; import seedu.address.model.reminder.Reminder; -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; - /** * An Immutable AddressBook that is serializable to JSON format. */ @@ -29,7 +30,8 @@ class JsonSerializableAddressBook { * Constructs a {@code JsonSerializableAddressBook} with the given persons and reminderList. */ @JsonCreator - public JsonSerializableAddressBook(@JsonProperty("persons") List persons, @JsonProperty("reminderList") List reminderList) { + public JsonSerializableAddressBook(@JsonProperty("persons") List persons, + @JsonProperty("reminderList") List reminderList) { this.persons.addAll(persons); this.reminderList.addAll(reminderList); } @@ -41,7 +43,8 @@ public JsonSerializableAddressBook(@JsonProperty("persons") List - *

  • - * if this method is called on a thread other than the JavaFX Application Thread. - *
  • - *
  • - * if this method is called during animation or layout processing. - *
  • - *
  • - * if this method is called on the primary stage. - *
  • - *
  • - * if {@code dialogStage} is already showing. - *
  • - * + * @throws IllegalStateException + *
      + *
    • + * if this method is called on a thread other than the JavaFX Application Thread. + *
    • + *
    • + * if this method is called during animation or layout processing. + *
    • + *
    • + * if this method is called on the primary stage. + *
    • + *
    • + * if {@code dialogStage} is already showing. + *
    • + *
    */ public void show() { logger.fine("Showing help page about the application."); diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java index c4b01990678..6b5ddce89ea 100644 --- a/src/main/java/seedu/address/ui/MainWindow.java +++ b/src/main/java/seedu/address/ui/MainWindow.java @@ -1,5 +1,7 @@ package seedu.address.ui; +import java.util.logging.Logger; + import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.scene.control.MenuItem; @@ -15,8 +17,6 @@ import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.logic.parser.exceptions.ParseException; -import java.util.logging.Logger; - /** * The Main Window. Provides the basic application layout containing * a menu bar and space where other JavaFX elements can be placed. diff --git a/src/main/java/seedu/address/ui/NotificationManager.java b/src/main/java/seedu/address/ui/NotificationManager.java index 5d558f4c492..9e35f18fc2e 100644 --- a/src/main/java/seedu/address/ui/NotificationManager.java +++ b/src/main/java/seedu/address/ui/NotificationManager.java @@ -1,15 +1,19 @@ package seedu.address.ui; +import java.time.LocalDateTime; +import java.util.List; + +import org.controlsfx.control.Notifications; + import javafx.geometry.Pos; import javafx.util.Duration; -import org.controlsfx.control.Notifications; import seedu.address.logic.Logic; import seedu.address.model.Model; import seedu.address.model.reminder.Reminder; -import java.time.LocalDateTime; -import java.util.List; - +/** + * Provides basic functionality for using the Notification function + */ public class NotificationManager { private Logic logic; @@ -22,21 +26,37 @@ public class NotificationManager { private Notifications notification; + /** + * Constructor to create a Notification with specified input. Default constructor. + * @param title Main title of the Notification + * @param text Additional information for the Notification + */ public NotificationManager(String title, String text) { this.title = title; this.text = text; } + /** + * Constructor to create a Notification from data stored in Logic. Used for notifying reminders + * @param logic + */ public NotificationManager(Logic logic) { this.logic = logic; this.reminderList = logic.getReminderList(); } + /** + * Constructor to create a Notification from data stored in Model. Used for notifying reminders + * @param model + */ public NotificationManager(Model model) { this.model = model; this.reminderList = model.getReminderList(); } + /** + * Method to show Notification built from the default constructor + */ public void showDefault() { //show notifications Notifications notificationBuilder = Notifications.create() @@ -48,6 +68,9 @@ public void showDefault() { notificationBuilder.showConfirm(); } + /** + * Method to display Reminders at the start of the app. + */ public void checkReminders() { LocalDateTime now = LocalDateTime.now(); for (int i = 0; i < reminderList.size(); i++) { @@ -60,6 +83,9 @@ public void checkReminders() { } } + /** + * Method for the "list_reminder" command + */ public void listReminders() { for (int i = 0; i < reminderList.size(); i++) { Reminder r = reminderList.get(i); @@ -69,6 +95,11 @@ public void listReminders() { } } + /** + * Method to show the Notification. Used for notifying reminders + * @param title + * @param text + */ public void show(String title, String text) { //show notifications Notifications notificationBuilder = Notifications.create() diff --git a/src/main/java/seedu/address/ui/PersonCard.java b/src/main/java/seedu/address/ui/PersonCard.java index d952aba4992..7fc927bc5d9 100644 --- a/src/main/java/seedu/address/ui/PersonCard.java +++ b/src/main/java/seedu/address/ui/PersonCard.java @@ -1,5 +1,7 @@ package seedu.address.ui; +import java.util.Comparator; + import javafx.fxml.FXML; import javafx.scene.control.Label; import javafx.scene.layout.FlowPane; @@ -7,8 +9,6 @@ import javafx.scene.layout.Region; import seedu.address.model.person.Person; -import java.util.Comparator; - /** * An UI component that displays information of a {@code Person}. */ diff --git a/src/main/java/seedu/address/ui/PersonListPanel.java b/src/main/java/seedu/address/ui/PersonListPanel.java index 0f97b2848c6..f4c501a897b 100644 --- a/src/main/java/seedu/address/ui/PersonListPanel.java +++ b/src/main/java/seedu/address/ui/PersonListPanel.java @@ -1,5 +1,7 @@ package seedu.address.ui; +import java.util.logging.Logger; + import javafx.collections.ObservableList; import javafx.fxml.FXML; import javafx.scene.control.ListCell; @@ -8,8 +10,6 @@ import seedu.address.commons.core.LogsCenter; import seedu.address.model.person.Person; -import java.util.logging.Logger; - /** * Panel containing the list of persons. */ diff --git a/src/main/java/seedu/address/ui/StatusBarFooter.java b/src/main/java/seedu/address/ui/StatusBarFooter.java index deaecb0c138..b577f829423 100644 --- a/src/main/java/seedu/address/ui/StatusBarFooter.java +++ b/src/main/java/seedu/address/ui/StatusBarFooter.java @@ -1,12 +1,12 @@ package seedu.address.ui; +import java.nio.file.Path; +import java.nio.file.Paths; + import javafx.fxml.FXML; import javafx.scene.control.Label; import javafx.scene.layout.Region; -import java.nio.file.Path; -import java.nio.file.Paths; - /** * A ui for the status bar that is displayed at the footer of the application. */ diff --git a/src/main/java/seedu/address/ui/UiManager.java b/src/main/java/seedu/address/ui/UiManager.java index 4153ac6a739..79c737b5740 100644 --- a/src/main/java/seedu/address/ui/UiManager.java +++ b/src/main/java/seedu/address/ui/UiManager.java @@ -1,5 +1,7 @@ package seedu.address.ui; +import java.util.logging.Logger; + import javafx.application.Platform; import javafx.scene.control.Alert; import javafx.scene.control.Alert.AlertType; @@ -10,8 +12,6 @@ import seedu.address.commons.util.StringUtil; import seedu.address.logic.Logic; -import java.util.logging.Logger; - /** * The manager of the UI component. */ @@ -32,22 +32,6 @@ public UiManager(Logic logic) { this.logic = logic; } - /** - * Shows an alert dialog on {@code owner} with the given parameters. - * This method only returns after the user has closed the alert dialog. - */ - private static void showAlertDialogAndWait(Stage owner, AlertType type, String title, String headerText, - String contentText) { - final Alert alert = new Alert(type); - alert.getDialogPane().getStylesheets().add("view/DarkTheme.css"); - alert.initOwner(owner); - alert.setTitle(title); - alert.setHeaderText(headerText); - alert.setContentText(contentText); - alert.getDialogPane().setId(ALERT_DIALOG_PANE_FIELD_ID); - alert.showAndWait(); - } - @Override public void start(Stage primaryStage) { logger.info("Starting UI..."); @@ -77,6 +61,22 @@ void showAlertDialogAndWait(Alert.AlertType type, String title, String headerTex showAlertDialogAndWait(mainWindow.getPrimaryStage(), type, title, headerText, contentText); } + /** + * Shows an alert dialog on {@code owner} with the given parameters. + * This method only returns after the user has closed the alert dialog. + */ + private static void showAlertDialogAndWait(Stage owner, AlertType type, String title, String headerText, + String contentText) { + final Alert alert = new Alert(type); + alert.getDialogPane().getStylesheets().add("view/DarkTheme.css"); + alert.initOwner(owner); + alert.setTitle(title); + alert.setHeaderText(headerText); + alert.setContentText(contentText); + alert.getDialogPane().setId(ALERT_DIALOG_PANE_FIELD_ID); + alert.showAndWait(); + } + /** * Shows an error alert dialog with {@code title} and error message, {@code e}, * and exits the application after the user has closed the alert dialog. diff --git a/src/main/java/seedu/address/ui/UiPart.java b/src/main/java/seedu/address/ui/UiPart.java index 2be07144b61..017725f04db 100644 --- a/src/main/java/seedu/address/ui/UiPart.java +++ b/src/main/java/seedu/address/ui/UiPart.java @@ -2,12 +2,12 @@ import static java.util.Objects.requireNonNull; -import javafx.fxml.FXMLLoader; -import seedu.address.MainApp; - import java.io.IOException; import java.net.URL; +import javafx.fxml.FXMLLoader; +import seedu.address.MainApp; + /** * Represents a distinct part of the UI. e.g. Windows, dialogs, panels, status bars, etc. * It contains a scene graph with a root node of type {@code T}. diff --git a/src/test/java/seedu/address/model/AddressBookTest.java b/src/test/java/seedu/address/model/AddressBookTest.java index 87782528ecd..1863fd38cf7 100644 --- a/src/test/java/seedu/address/model/AddressBookTest.java +++ b/src/test/java/seedu/address/model/AddressBookTest.java @@ -20,6 +20,7 @@ import javafx.collections.ObservableList; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; +import seedu.address.model.reminder.Reminder; import seedu.address.testutil.PersonBuilder; public class AddressBookTest { @@ -88,6 +89,7 @@ public void getPersonList_modifyList_throwsUnsupportedOperationException() { */ private static class AddressBookStub implements ReadOnlyAddressBook { private final ObservableList persons = FXCollections.observableArrayList(); + private final ObservableList reminderList = FXCollections.observableArrayList(); AddressBookStub(Collection persons) { this.persons.setAll(persons); @@ -97,6 +99,11 @@ private static class AddressBookStub implements ReadOnlyAddressBook { public ObservableList getPersonList() { return persons; } + + @Override + public ObservableList getReminderList() { + return reminderList; + } } } From 9ce4cdbd16785240795b281c026864b46ea39232 Mon Sep 17 00:00:00 2001 From: ChinJunAn Date: Sun, 12 Mar 2023 14:40:53 +0800 Subject: [PATCH 090/470] Amend test case data. --- .../duplicatePersonAddressBook.json | 3 ++- .../invalidPersonAddressBook.json | 3 ++- .../typicalPersonsAddressBook.json | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/test/data/JsonSerializableAddressBookTest/duplicatePersonAddressBook.json b/src/test/data/JsonSerializableAddressBookTest/duplicatePersonAddressBook.json index 48831cc7674..8a3a4ff316a 100644 --- a/src/test/data/JsonSerializableAddressBookTest/duplicatePersonAddressBook.json +++ b/src/test/data/JsonSerializableAddressBookTest/duplicatePersonAddressBook.json @@ -10,5 +10,6 @@ "phone": "94351253", "email": "pauline@example.com", "address": "4th street" - } ] + } ], + "reminderList": [ ] } diff --git a/src/test/data/JsonSerializableAddressBookTest/invalidPersonAddressBook.json b/src/test/data/JsonSerializableAddressBookTest/invalidPersonAddressBook.json index ad3f135ae42..2442c9a29c9 100644 --- a/src/test/data/JsonSerializableAddressBookTest/invalidPersonAddressBook.json +++ b/src/test/data/JsonSerializableAddressBookTest/invalidPersonAddressBook.json @@ -4,5 +4,6 @@ "phone": "9482424", "email": "invalid@email!3e", "address": "4th street" - } ] + } ], + "reminderList": [ ] } diff --git a/src/test/data/JsonSerializableAddressBookTest/typicalPersonsAddressBook.json b/src/test/data/JsonSerializableAddressBookTest/typicalPersonsAddressBook.json index f10eddee12e..21e4c61e8d2 100644 --- a/src/test/data/JsonSerializableAddressBookTest/typicalPersonsAddressBook.json +++ b/src/test/data/JsonSerializableAddressBookTest/typicalPersonsAddressBook.json @@ -42,5 +42,6 @@ "email" : "anna@example.com", "address" : "4th street", "tagged" : [ ] - } ] + } ], + "reminderList": [ ] } From 15c26922e07803b2e503dbc66cd754b243e3387f Mon Sep 17 00:00:00 2001 From: c0j0s Date: Sun, 12 Mar 2023 15:33:02 +0800 Subject: [PATCH 091/470] Merge earning entity to delivery jobs --- .../address/model/deliveryjobs/Customer.java | 2 + .../model/deliveryjobs/DeliveryJob.java | 2 + .../model/deliveryjobs/DeliveryTime.java | 2 + .../address/model/deliveryjobs/Earning.java | 2 + .../seedu/address/model/jobs/DeliveryJob.java | 27 ++++++--- .../seedu/address/model/jobs/Earning.java | 57 +++++++++++++++++++ .../model/jobs/UniqueDeliveryList.java | 4 +- .../address/model/util/SampleDataUtil.java | 13 +++-- .../json/model/JsonAdaptedDeliveryJob.java | 13 +++-- .../JsonSerializableDeliveryJobSystem.java | 2 - .../address/storage/StorageManagerTest.java | 2 +- .../address/testutil/TypicalDeliveryJobs.java | 14 ++--- 12 files changed, 109 insertions(+), 31 deletions(-) create mode 100644 src/main/java/seedu/address/model/jobs/Earning.java diff --git a/src/main/java/seedu/address/model/deliveryjobs/Customer.java b/src/main/java/seedu/address/model/deliveryjobs/Customer.java index a59717eba04..55033c101bd 100644 --- a/src/main/java/seedu/address/model/deliveryjobs/Customer.java +++ b/src/main/java/seedu/address/model/deliveryjobs/Customer.java @@ -6,7 +6,9 @@ /** * Represents a Delivery's customer in the delivery jobs book. * Guarantees: immutable; is valid as declared in {@link #isValidCustomer(String)} + * @deprecated merging with person */ +@Deprecated public class Customer { public static final String MESSAGE_CONSTRAINTS = "Customer can take any word, and it should not be blank"; diff --git a/src/main/java/seedu/address/model/deliveryjobs/DeliveryJob.java b/src/main/java/seedu/address/model/deliveryjobs/DeliveryJob.java index 640a1c8a0cd..ccfc3344bde 100644 --- a/src/main/java/seedu/address/model/deliveryjobs/DeliveryJob.java +++ b/src/main/java/seedu/address/model/deliveryjobs/DeliveryJob.java @@ -11,7 +11,9 @@ /** * Represents a Delivery job in the Delivery jobs book. * Guarantees: details are present and not null, field values are validated, immutable. + * @deprecated Merging with jobs.DeliveryJob */ +@Deprecated public class DeliveryJob { private final int id; diff --git a/src/main/java/seedu/address/model/deliveryjobs/DeliveryTime.java b/src/main/java/seedu/address/model/deliveryjobs/DeliveryTime.java index b8898b1b8d4..076e1e2ea27 100644 --- a/src/main/java/seedu/address/model/deliveryjobs/DeliveryTime.java +++ b/src/main/java/seedu/address/model/deliveryjobs/DeliveryTime.java @@ -6,7 +6,9 @@ /** * Represents a Delivery's time in the delivery jobs book. * Guarantees: immutable; is valid as declared in {@link #isValidTime(String)} + * @deprecated Refine and merge with jobs.DeliveryJob when timetable design is ready. */ +@Deprecated public class DeliveryTime { public static final String MESSAGE_CONSTRAINTS = "DeliveryTime can take any character, and it should not be blank"; diff --git a/src/main/java/seedu/address/model/deliveryjobs/Earning.java b/src/main/java/seedu/address/model/deliveryjobs/Earning.java index a301033d93e..1611dc00ca3 100644 --- a/src/main/java/seedu/address/model/deliveryjobs/Earning.java +++ b/src/main/java/seedu/address/model/deliveryjobs/Earning.java @@ -6,7 +6,9 @@ /** * Represents a Delivery's earning in the delivery jobs book. * Guarantees: immutable; is valid as declared in {@link #isValidEarning(String)} + * @deprecated moved to jobs */ +@Deprecated public class Earning { public static final String MESSAGE_CONSTRAINTS = "Earning should only contain double, and it should not be blank"; diff --git a/src/main/java/seedu/address/model/jobs/DeliveryJob.java b/src/main/java/seedu/address/model/jobs/DeliveryJob.java index a69d9822c9c..5b0c478a702 100644 --- a/src/main/java/seedu/address/model/jobs/DeliveryJob.java +++ b/src/main/java/seedu/address/model/jobs/DeliveryJob.java @@ -12,9 +12,10 @@ public class DeliveryJob { private final String jobId; // Delivery informations - private Person recepient; - private String deliverSlot; // TODO: Update data type when confirmed - private double earning; + private final Person recepient; + private final String deliverSlot; // TODO: Update data type when confirmed + private final Earning earning; + private final boolean isDelivered; /** * Constructs a job entity. @@ -24,8 +25,8 @@ public class DeliveryJob { * @param packages * @param earning */ - public DeliveryJob(Person recepient, String deliverSlot, double earning) { - this(UUID.randomUUID().toString(), recepient, deliverSlot, earning); + public DeliveryJob(Person recepient, String deliverSlot, Earning earning) { + this(UUID.randomUUID().toString(), recepient, deliverSlot, earning, false); } /** @@ -37,11 +38,12 @@ public DeliveryJob(Person recepient, String deliverSlot, double earning) { * @param packages * @param earning */ - public DeliveryJob(String jobId, Person recepient, String deliverSlot, double earning) { + public DeliveryJob(String jobId, Person recepient, String deliverSlot, Earning earning, boolean isDelivered) { this.jobId = jobId; this.recepient = recepient; this.deliverSlot = deliverSlot; this.earning = earning; + this.isDelivered = isDelivered; } public String getJobId() { @@ -56,10 +58,14 @@ public String getDeliverSlot() { return deliverSlot; } - public double getEarning() { + public Earning getEarning() { return earning; } + public boolean getDeliveredStatus() { + return isDelivered; + } + /** * isSameDeliveryJob. * @@ -81,14 +87,17 @@ public String toString() { String outString = "Job [%s]\n" + "receipent: %s\n" + "slot: %s\n" - + "earn: $%s\n"; + + "earn: $%s\n" + + "status: $%s\n"; builder.append( String.format(outString, jobId, getRecepient(), getDeliverSlot(), - getEarning())); + getEarning(), + getDeliveredStatus()) + ); return builder.toString(); } diff --git a/src/main/java/seedu/address/model/jobs/Earning.java b/src/main/java/seedu/address/model/jobs/Earning.java new file mode 100644 index 00000000000..dd0f7a116dc --- /dev/null +++ b/src/main/java/seedu/address/model/jobs/Earning.java @@ -0,0 +1,57 @@ +package seedu.address.model.jobs; + +import static java.util.Objects.requireNonNull; +import static seedu.address.commons.util.AppUtil.checkArgument; + +/** + * Represents a Delivery's earning in the delivery jobs book. + * Guarantees: immutable; is valid as declared in {@link #isValidEarning(String)} + */ +public class Earning { + + public static final String MESSAGE_CONSTRAINTS = "Earning should only contain double, and it should not be blank"; + + public static final String VALIDATION_REGEX = "\\d+\\.\\d+"; + + public final String value; + + /** + * Constructs an {@code earning}. + * + * @param earning A valid earning. + */ + public Earning(String earning) { + requireNonNull(earning); + checkArgument(isValidEarning(earning), MESSAGE_CONSTRAINTS); + value = earning; + } + + public double value() { + return Double.parseDouble(value); + } + + /** + * Returns true if a given string is a valid earning. + */ + public static boolean isValidEarning(String test) { + return test.matches(VALIDATION_REGEX); + } + + @Override + public String toString() { + return value; + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof Earning // instanceof handles nulls + && value.equals(((Earning) other).value)); // state check + } + + @Override + public int hashCode() { + return value.hashCode(); + } + +} diff --git a/src/main/java/seedu/address/model/jobs/UniqueDeliveryList.java b/src/main/java/seedu/address/model/jobs/UniqueDeliveryList.java index ee128d561ee..b319f9c2ab4 100644 --- a/src/main/java/seedu/address/model/jobs/UniqueDeliveryList.java +++ b/src/main/java/seedu/address/model/jobs/UniqueDeliveryList.java @@ -45,7 +45,7 @@ public void add(DeliveryJob toAdd) { * setDeliveryJob * * @param target - * @param editedPerson + * @param editedJob */ public void setDeliveryJob(DeliveryJob target, DeliveryJob editedJob) { requireAllNonNull(target, editedJob); @@ -85,7 +85,7 @@ public void setDeliveryJobs(UniqueDeliveryList replacement) { /** * setDeliveryJobs * - * @param deliveryJobs + * @param jobs */ public void setDeliveryJobs(List jobs) { requireAllNonNull(jobs); diff --git a/src/main/java/seedu/address/model/util/SampleDataUtil.java b/src/main/java/seedu/address/model/util/SampleDataUtil.java index 27108cdd348..7d81aa213a1 100644 --- a/src/main/java/seedu/address/model/util/SampleDataUtil.java +++ b/src/main/java/seedu/address/model/util/SampleDataUtil.java @@ -9,6 +9,7 @@ import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.ReadOnlyDeliveryJobSystem; import seedu.address.model.jobs.DeliveryJob; +import seedu.address.model.jobs.Earning; import seedu.address.model.person.Address; import seedu.address.model.person.Email; import seedu.address.model.person.Name; @@ -53,38 +54,38 @@ public static DeliveryJob[] getSampleDeliveryJob() { new Address("Blk 30 Geylang Street 29, #06-40"), getTagSet("friends")), "dummy slot", - 0.0), + new Earning("0.0")), new DeliveryJob( new Person(new Name("Bernice Yu"), new Phone("99272758"), new Email("berniceyu@example.com"), new Address("Blk 30 Lorong 3 Serangoon Gardens, #07-18"), getTagSet("colleagues", "friends")), "dummy slot", - 0.0), + new Earning("1.0")), new DeliveryJob( new Person(new Name("Charlotte Oliveiro"), new Phone("93210283"), new Email("charlotte@example.com"), new Address("Blk 11 Ang Mo Kio Street 74, #11-04"), getTagSet("neighbours")), "dummy slot", - 0.0), + new Earning("2.0")), new DeliveryJob( new Person(new Name("David Li"), new Phone("91031282"), new Email("lidavid@example.com"), new Address("Blk 436 Serangoon Gardens Street 26, #16-43"), getTagSet("family")), "dummy slot", - 0.0), + new Earning("3.0")), new DeliveryJob( new Person(new Name("Irfan Ibrahim"), new Phone("92492021"), new Email("irfan@example.com"), new Address("Blk 47 Tampines Street 20, #17-35"), getTagSet("classmates")), "dummy slot", - 0.0), + new Earning("4.0")), new DeliveryJob( new Person(new Name("Roy Balakrishnan"), new Phone("92624417"), new Email("royb@example.com"), new Address("Blk 45 Aljunied Street 85, #11-31"), getTagSet("colleagues")), "dummy slot", - 0.0) + new Earning("5.0")) }; } diff --git a/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryJob.java b/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryJob.java index 7c86803d8be..943b9d3688c 100644 --- a/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryJob.java +++ b/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryJob.java @@ -4,6 +4,7 @@ import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.model.jobs.DeliveryJob; +import seedu.address.model.jobs.Earning; /** * JsonAdaptedDeliveryJob @@ -13,7 +14,8 @@ public class JsonAdaptedDeliveryJob extends JsonAdapted { private final String jobId; private final JsonAdaptedPerson recepient; private final String slot; - private final double earning; + private final Earning earning; + private final boolean isDelivered; /** * JsonAdaptedDeliveryJob @@ -27,12 +29,14 @@ public JsonAdaptedDeliveryJob( @JsonProperty("jobid") String jobId, @JsonProperty("recepient") JsonAdaptedPerson recepient, @JsonProperty("slot") String deliverySlot, - @JsonProperty("earning") double earning + @JsonProperty("earning") double earning, + @JsonProperty("isDelivered") boolean isDelivered ) { this.jobId = jobId; this.recepient = recepient; this.slot = deliverySlot; - this.earning = earning; + this.earning = new Earning(Double.toString(earning)); + this.isDelivered = isDelivered; } /** @@ -45,12 +49,13 @@ public JsonAdaptedDeliveryJob(DeliveryJob source) { this.recepient = new JsonAdaptedPerson(source.getRecepient()); this.slot = source.getDeliverSlot(); this.earning = source.getEarning(); + this.isDelivered = source.getDeliveredStatus(); } @Override public DeliveryJob toModelType() throws IllegalValueException { // TODO: refine later - return new DeliveryJob(jobId, recepient.toModelType(), slot, earning); + return new DeliveryJob(jobId, recepient.toModelType(), slot, earning, isDelivered); } } diff --git a/src/main/java/seedu/address/storage/json/serializable/JsonSerializableDeliveryJobSystem.java b/src/main/java/seedu/address/storage/json/serializable/JsonSerializableDeliveryJobSystem.java index eb3bd303d17..d89d30e97e9 100644 --- a/src/main/java/seedu/address/storage/json/serializable/JsonSerializableDeliveryJobSystem.java +++ b/src/main/java/seedu/address/storage/json/serializable/JsonSerializableDeliveryJobSystem.java @@ -13,8 +13,6 @@ import seedu.address.model.ReadOnlyDeliveryJobSystem; import seedu.address.model.jobs.DeliveryJob; import seedu.address.storage.json.model.JsonAdaptedDeliveryJob; -import seedu.address.storage.json.model.JsonAdaptedPerson; -import seedu.address.storage.json.model.JsonAdaptedReminder; /** * JsonSerializableDeliveryJobSystem diff --git a/src/test/java/seedu/address/storage/StorageManagerTest.java b/src/test/java/seedu/address/storage/StorageManagerTest.java index d93e52d29c1..3831d92715b 100644 --- a/src/test/java/seedu/address/storage/StorageManagerTest.java +++ b/src/test/java/seedu/address/storage/StorageManagerTest.java @@ -2,8 +2,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; -import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; import static seedu.address.testutil.TypicalDeliveryJobs.getTypicalDeliveryJobSystem; +import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; import java.nio.file.Path; diff --git a/src/test/java/seedu/address/testutil/TypicalDeliveryJobs.java b/src/test/java/seedu/address/testutil/TypicalDeliveryJobs.java index 3ca9d03ad10..cfac3def816 100644 --- a/src/test/java/seedu/address/testutil/TypicalDeliveryJobs.java +++ b/src/test/java/seedu/address/testutil/TypicalDeliveryJobs.java @@ -5,8 +5,8 @@ import java.util.List; import seedu.address.model.DeliveryJobSystem; -import seedu.address.model.ReadOnlyDeliveryJobSystem; import seedu.address.model.jobs.DeliveryJob; +import seedu.address.model.jobs.Earning; /** * A set of TypicalDeliveryJobs @@ -16,28 +16,28 @@ public class TypicalDeliveryJobs { public static final DeliveryJob JOBA = new DeliveryJob( TypicalPersons.ALICE, "dummy slot", - 1.0); + new Earning("1.0")); public static final DeliveryJob JOBB = new DeliveryJob( TypicalPersons.BOB, "dummy slot", - 2.0); + new Earning("2.0")); public static final DeliveryJob JOBC = new DeliveryJob( TypicalPersons.CARL, "dummy slot", - 3.0); + new Earning("3.0")); public static final DeliveryJob JOBD = new DeliveryJob( TypicalPersons.DANIEL, "dummy slot", - 4.0); + new Earning("4.0")); public static final DeliveryJob JOBE = new DeliveryJob( TypicalPersons.ELLE, "dummy slot", - 5.0); + new Earning("5.0")); public static final DeliveryJob JOBF = new DeliveryJob( TypicalPersons.FIONA, "dummy slot", - 6.0); + new Earning("6.0")); public static DeliveryJobSystem getTypicalDeliveryJobSystem() { DeliveryJobSystem sampleDS = new DeliveryJobSystem(); From 3abe7f7acb7051f7b8f27b3a62449d3afa732f4d Mon Sep 17 00:00:00 2001 From: c0j0s Date: Sun, 12 Mar 2023 15:53:57 +0800 Subject: [PATCH 092/470] Fix issue with json conversion for earning --- .../seedu/address/model/ModelManager.java | 19 +--------- .../seedu/address/model/jobs/DeliveryJob.java | 6 +-- .../seedu/address/model/jobs/Earning.java | 4 -- .../address/model/util/SampleDataUtil.java | 13 +++---- .../json/model/JsonAdaptedDeliveryJob.java | 9 ++--- .../seedu/address/logic/LogicManagerTest.java | 2 +- .../commands/AddCommandIntegrationTest.java | 5 ++- .../logic/commands/ClearCommandTest.java | 5 ++- .../logic/commands/DeleteCommandTest.java | 8 ++-- .../logic/commands/EditCommandTest.java | 19 +++++++--- .../logic/commands/FindCommandTest.java | 17 +++++---- .../logic/commands/ListCommandTest.java | 8 ++-- .../seedu/address/model/ModelManagerTest.java | 11 +++--- .../address/testutil/TypicalDeliveryJobs.java | 37 +++++++++---------- 14 files changed, 78 insertions(+), 85 deletions(-) diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 274d07e60d6..7b318f82f53 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -30,22 +30,6 @@ public class ModelManager implements Model { /** * Initializes a ModelManager with the given addressBook and userPrefs. - */ - public ModelManager(ReadOnlyAddressBook addressBook, ReadOnlyUserPrefs userPrefs) { - requireAllNonNull(addressBook, userPrefs); - - logger.fine("Initializing with address book: " + addressBook + ", user prefs " + userPrefs); - - this.addressBook = new AddressBook(addressBook); - this.deliveryJobSystem = null; - this.userPrefs = new UserPrefs(userPrefs); - this.filteredPersons = new FilteredList<>(this.addressBook.getPersonList()); - this.filteredDeliveryJobs = null; - this.reminderList = null; - } - - /** - * ModelManager * * @param addressBook * @param deliveryJobSystem @@ -69,8 +53,7 @@ public ModelManager(ReadOnlyAddressBook addressBook, ReadOnlyDeliveryJobSystem d * ModelManager. */ public ModelManager() { - this(new AddressBook(), new UserPrefs()); - // this(new AddressBook(), new DeliveryJobSystem(), new UserPrefs()); + this(new AddressBook(), new DeliveryJobSystem(), new UserPrefs()); } // UserPrefs =================================================================== diff --git a/src/main/java/seedu/address/model/jobs/DeliveryJob.java b/src/main/java/seedu/address/model/jobs/DeliveryJob.java index 5b0c478a702..a7d04770727 100644 --- a/src/main/java/seedu/address/model/jobs/DeliveryJob.java +++ b/src/main/java/seedu/address/model/jobs/DeliveryJob.java @@ -25,7 +25,7 @@ public class DeliveryJob { * @param packages * @param earning */ - public DeliveryJob(Person recepient, String deliverSlot, Earning earning) { + public DeliveryJob(Person recepient, String deliverSlot, String earning) { this(UUID.randomUUID().toString(), recepient, deliverSlot, earning, false); } @@ -38,11 +38,11 @@ public DeliveryJob(Person recepient, String deliverSlot, Earning earning) { * @param packages * @param earning */ - public DeliveryJob(String jobId, Person recepient, String deliverSlot, Earning earning, boolean isDelivered) { + public DeliveryJob(String jobId, Person recepient, String deliverSlot, String earning, boolean isDelivered) { this.jobId = jobId; this.recepient = recepient; this.deliverSlot = deliverSlot; - this.earning = earning; + this.earning = new Earning(earning); this.isDelivered = isDelivered; } diff --git a/src/main/java/seedu/address/model/jobs/Earning.java b/src/main/java/seedu/address/model/jobs/Earning.java index dd0f7a116dc..e3dea456621 100644 --- a/src/main/java/seedu/address/model/jobs/Earning.java +++ b/src/main/java/seedu/address/model/jobs/Earning.java @@ -26,10 +26,6 @@ public Earning(String earning) { value = earning; } - public double value() { - return Double.parseDouble(value); - } - /** * Returns true if a given string is a valid earning. */ diff --git a/src/main/java/seedu/address/model/util/SampleDataUtil.java b/src/main/java/seedu/address/model/util/SampleDataUtil.java index 7d81aa213a1..ec11e042fb2 100644 --- a/src/main/java/seedu/address/model/util/SampleDataUtil.java +++ b/src/main/java/seedu/address/model/util/SampleDataUtil.java @@ -9,7 +9,6 @@ import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.ReadOnlyDeliveryJobSystem; import seedu.address.model.jobs.DeliveryJob; -import seedu.address.model.jobs.Earning; import seedu.address.model.person.Address; import seedu.address.model.person.Email; import seedu.address.model.person.Name; @@ -54,38 +53,38 @@ public static DeliveryJob[] getSampleDeliveryJob() { new Address("Blk 30 Geylang Street 29, #06-40"), getTagSet("friends")), "dummy slot", - new Earning("0.0")), + "0.0"), new DeliveryJob( new Person(new Name("Bernice Yu"), new Phone("99272758"), new Email("berniceyu@example.com"), new Address("Blk 30 Lorong 3 Serangoon Gardens, #07-18"), getTagSet("colleagues", "friends")), "dummy slot", - new Earning("1.0")), + "1.0"), new DeliveryJob( new Person(new Name("Charlotte Oliveiro"), new Phone("93210283"), new Email("charlotte@example.com"), new Address("Blk 11 Ang Mo Kio Street 74, #11-04"), getTagSet("neighbours")), "dummy slot", - new Earning("2.0")), + "2.0"), new DeliveryJob( new Person(new Name("David Li"), new Phone("91031282"), new Email("lidavid@example.com"), new Address("Blk 436 Serangoon Gardens Street 26, #16-43"), getTagSet("family")), "dummy slot", - new Earning("3.0")), + "3.0"), new DeliveryJob( new Person(new Name("Irfan Ibrahim"), new Phone("92492021"), new Email("irfan@example.com"), new Address("Blk 47 Tampines Street 20, #17-35"), getTagSet("classmates")), "dummy slot", - new Earning("4.0")), + "4.0"), new DeliveryJob( new Person(new Name("Roy Balakrishnan"), new Phone("92624417"), new Email("royb@example.com"), new Address("Blk 45 Aljunied Street 85, #11-31"), getTagSet("colleagues")), "dummy slot", - new Earning("5.0")) + "5.0") }; } diff --git a/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryJob.java b/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryJob.java index 943b9d3688c..5297330b09e 100644 --- a/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryJob.java +++ b/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryJob.java @@ -4,7 +4,6 @@ import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.model.jobs.DeliveryJob; -import seedu.address.model.jobs.Earning; /** * JsonAdaptedDeliveryJob @@ -14,7 +13,7 @@ public class JsonAdaptedDeliveryJob extends JsonAdapted { private final String jobId; private final JsonAdaptedPerson recepient; private final String slot; - private final Earning earning; + private final String earning; private final boolean isDelivered; /** @@ -29,13 +28,13 @@ public JsonAdaptedDeliveryJob( @JsonProperty("jobid") String jobId, @JsonProperty("recepient") JsonAdaptedPerson recepient, @JsonProperty("slot") String deliverySlot, - @JsonProperty("earning") double earning, + @JsonProperty("earning") String earning, @JsonProperty("isDelivered") boolean isDelivered ) { this.jobId = jobId; this.recepient = recepient; this.slot = deliverySlot; - this.earning = new Earning(Double.toString(earning)); + this.earning = earning; this.isDelivered = isDelivered; } @@ -48,7 +47,7 @@ public JsonAdaptedDeliveryJob(DeliveryJob source) { this.jobId = source.getJobId(); this.recepient = new JsonAdaptedPerson(source.getRecepient()); this.slot = source.getDeliverSlot(); - this.earning = source.getEarning(); + this.earning = source.getEarning().value; this.isDelivered = source.getDeliveredStatus(); } diff --git a/src/test/java/seedu/address/logic/LogicManagerTest.java b/src/test/java/seedu/address/logic/LogicManagerTest.java index 8bc7116b9a2..8413972fd03 100644 --- a/src/test/java/seedu/address/logic/LogicManagerTest.java +++ b/src/test/java/seedu/address/logic/LogicManagerTest.java @@ -142,7 +142,7 @@ private void assertCommandException(String inputCommand, String expectedMessage) */ private void assertCommandFailure(String inputCommand, Class expectedException, String expectedMessage) { - Model expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); + Model expectedModel = new ModelManager(model.getAddressBook(), model.getDeliveryJobSystem(), new UserPrefs()); assertCommandFailure(inputCommand, expectedException, expectedMessage, expectedModel); } diff --git a/src/test/java/seedu/address/logic/commands/AddCommandIntegrationTest.java b/src/test/java/seedu/address/logic/commands/AddCommandIntegrationTest.java index cb8714bb055..749d8e45ee1 100644 --- a/src/test/java/seedu/address/logic/commands/AddCommandIntegrationTest.java +++ b/src/test/java/seedu/address/logic/commands/AddCommandIntegrationTest.java @@ -7,6 +7,7 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import seedu.address.model.DeliveryJobSystem; import seedu.address.model.Model; import seedu.address.model.ModelManager; import seedu.address.model.UserPrefs; @@ -22,14 +23,14 @@ public class AddCommandIntegrationTest { @BeforeEach public void setUp() { - model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + model = new ModelManager(getTypicalAddressBook(), new DeliveryJobSystem(), new UserPrefs()); } @Test public void execute_newPerson_success() { Person validPerson = new PersonBuilder().build(); - Model expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); + Model expectedModel = new ModelManager(model.getAddressBook(), new DeliveryJobSystem(), new UserPrefs()); expectedModel.addPerson(validPerson); assertCommandSuccess(new AddCommand(validPerson), model, diff --git a/src/test/java/seedu/address/logic/commands/ClearCommandTest.java b/src/test/java/seedu/address/logic/commands/ClearCommandTest.java index 80d9110c03a..c5b91bbe748 100644 --- a/src/test/java/seedu/address/logic/commands/ClearCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ClearCommandTest.java @@ -6,6 +6,7 @@ import org.junit.jupiter.api.Test; import seedu.address.model.AddressBook; +import seedu.address.model.DeliveryJobSystem; import seedu.address.model.Model; import seedu.address.model.ModelManager; import seedu.address.model.UserPrefs; @@ -22,8 +23,8 @@ public void execute_emptyAddressBook_success() { @Test public void execute_nonEmptyAddressBook_success() { - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - Model expectedModel = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + Model model = new ModelManager(getTypicalAddressBook(), new DeliveryJobSystem(), new UserPrefs()); + Model expectedModel = new ModelManager(getTypicalAddressBook(), new DeliveryJobSystem(), new UserPrefs()); expectedModel.setAddressBook(new AddressBook()); assertCommandSuccess(new ClearCommand(), model, ClearCommand.MESSAGE_SUCCESS, expectedModel); diff --git a/src/test/java/seedu/address/logic/commands/DeleteCommandTest.java b/src/test/java/seedu/address/logic/commands/DeleteCommandTest.java index 45a8c910ba1..903262d8dba 100644 --- a/src/test/java/seedu/address/logic/commands/DeleteCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/DeleteCommandTest.java @@ -5,6 +5,7 @@ import static seedu.address.logic.commands.CommandTestUtil.assertCommandFailure; import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; import static seedu.address.logic.commands.CommandTestUtil.showPersonAtIndex; +import static seedu.address.testutil.TypicalDeliveryJobs.getTypicalDeliveryJobSystem; import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON; import static seedu.address.testutil.TypicalIndexes.INDEX_SECOND_PERSON; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; @@ -24,7 +25,7 @@ */ public class DeleteCommandTest { - private Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + private Model model = new ModelManager(getTypicalAddressBook(), getTypicalDeliveryJobSystem(), new UserPrefs()); @Test public void execute_validIndexUnfilteredList_success() { @@ -33,7 +34,8 @@ public void execute_validIndexUnfilteredList_success() { String expectedMessage = String.format(DeleteCommand.MESSAGE_DELETE_PERSON_SUCCESS, personToDelete); - ModelManager expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); + ModelManager expectedModel = new ModelManager(model.getAddressBook(), model.getDeliveryJobSystem(), + new UserPrefs()); expectedModel.deletePerson(personToDelete); assertCommandSuccess(deleteCommand, model, expectedMessage, expectedModel); @@ -56,7 +58,7 @@ public void execute_validIndexFilteredList_success() { String expectedMessage = String.format(DeleteCommand.MESSAGE_DELETE_PERSON_SUCCESS, personToDelete); - Model expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); + Model expectedModel = new ModelManager(model.getAddressBook(), model.getDeliveryJobSystem(), new UserPrefs()); expectedModel.deletePerson(personToDelete); showNoPerson(expectedModel); diff --git a/src/test/java/seedu/address/logic/commands/EditCommandTest.java b/src/test/java/seedu/address/logic/commands/EditCommandTest.java index 214c6c2507b..d775f883aa3 100644 --- a/src/test/java/seedu/address/logic/commands/EditCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/EditCommandTest.java @@ -10,6 +10,7 @@ import static seedu.address.logic.commands.CommandTestUtil.assertCommandFailure; import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; import static seedu.address.logic.commands.CommandTestUtil.showPersonAtIndex; +import static seedu.address.testutil.TypicalDeliveryJobs.getTypicalDeliveryJobSystem; import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON; import static seedu.address.testutil.TypicalIndexes.INDEX_SECOND_PERSON; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; @@ -20,6 +21,7 @@ import seedu.address.commons.core.index.Index; import seedu.address.logic.commands.EditCommand.EditPersonDescriptor; import seedu.address.model.AddressBook; +import seedu.address.model.DeliveryJobSystem; import seedu.address.model.Model; import seedu.address.model.ModelManager; import seedu.address.model.UserPrefs; @@ -28,11 +30,12 @@ import seedu.address.testutil.PersonBuilder; /** - * Contains integration tests (interaction with the Model) and unit tests for EditCommand. + * Contains integration tests (interaction with the Model) and unit tests for + * EditCommand. */ public class EditCommandTest { - private Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + private Model model = new ModelManager(getTypicalAddressBook(), getTypicalDeliveryJobSystem(), new UserPrefs()); @Test public void execute_allFieldsSpecifiedUnfilteredList_success() { @@ -42,7 +45,8 @@ public void execute_allFieldsSpecifiedUnfilteredList_success() { String expectedMessage = String.format(EditCommand.MESSAGE_EDIT_PERSON_SUCCESS, editedPerson); - Model expectedModel = new ModelManager(new AddressBook(model.getAddressBook()), new UserPrefs()); + Model expectedModel = new ModelManager(new AddressBook(model.getAddressBook()), + new DeliveryJobSystem(model.getDeliveryJobSystem()), new UserPrefs()); expectedModel.setPerson(model.getFilteredPersonList().get(0), editedPerson); assertCommandSuccess(editCommand, model, expectedMessage, expectedModel); @@ -63,7 +67,8 @@ public void execute_someFieldsSpecifiedUnfilteredList_success() { String expectedMessage = String.format(EditCommand.MESSAGE_EDIT_PERSON_SUCCESS, editedPerson); - Model expectedModel = new ModelManager(new AddressBook(model.getAddressBook()), new UserPrefs()); + Model expectedModel = new ModelManager(new AddressBook(model.getAddressBook()), + new DeliveryJobSystem(model.getDeliveryJobSystem()), new UserPrefs()); expectedModel.setPerson(lastPerson, editedPerson); assertCommandSuccess(editCommand, model, expectedMessage, expectedModel); @@ -76,7 +81,8 @@ public void execute_noFieldSpecifiedUnfilteredList_success() { String expectedMessage = String.format(EditCommand.MESSAGE_EDIT_PERSON_SUCCESS, editedPerson); - Model expectedModel = new ModelManager(new AddressBook(model.getAddressBook()), new UserPrefs()); + Model expectedModel = new ModelManager(new AddressBook(model.getAddressBook()), + new DeliveryJobSystem(model.getDeliveryJobSystem()), new UserPrefs()); assertCommandSuccess(editCommand, model, expectedMessage, expectedModel); } @@ -92,7 +98,8 @@ public void execute_filteredList_success() { String expectedMessage = String.format(EditCommand.MESSAGE_EDIT_PERSON_SUCCESS, editedPerson); - Model expectedModel = new ModelManager(new AddressBook(model.getAddressBook()), new UserPrefs()); + Model expectedModel = new ModelManager(new AddressBook(model.getAddressBook()), + new DeliveryJobSystem(model.getDeliveryJobSystem()), new UserPrefs()); expectedModel.setPerson(model.getFilteredPersonList().get(0), editedPerson); assertCommandSuccess(editCommand, model, expectedMessage, expectedModel); diff --git a/src/test/java/seedu/address/logic/commands/FindCommandTest.java b/src/test/java/seedu/address/logic/commands/FindCommandTest.java index 9b15db28bbb..239a0bf5808 100644 --- a/src/test/java/seedu/address/logic/commands/FindCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/FindCommandTest.java @@ -5,6 +5,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import static seedu.address.commons.core.Messages.MESSAGE_PERSONS_LISTED_OVERVIEW; import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; +import static seedu.address.testutil.TypicalDeliveryJobs.getTypicalDeliveryJobSystem; import static seedu.address.testutil.TypicalPersons.CARL; import static seedu.address.testutil.TypicalPersons.ELLE; import static seedu.address.testutil.TypicalPersons.FIONA; @@ -21,18 +22,20 @@ import seedu.address.model.person.NameContainsKeywordsPredicate; /** - * Contains integration tests (interaction with the Model) for {@code FindCommand}. + * Contains integration tests (interaction with the Model) for + * {@code FindCommand}. */ public class FindCommandTest { - private Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - private Model expectedModel = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + private Model model = new ModelManager(getTypicalAddressBook(), getTypicalDeliveryJobSystem(), new UserPrefs()); + private Model expectedModel = new ModelManager(getTypicalAddressBook(), getTypicalDeliveryJobSystem(), + new UserPrefs()); @Test public void equals() { - NameContainsKeywordsPredicate firstPredicate = - new NameContainsKeywordsPredicate(Collections.singletonList("first")); - NameContainsKeywordsPredicate secondPredicate = - new NameContainsKeywordsPredicate(Collections.singletonList("second")); + NameContainsKeywordsPredicate firstPredicate = new NameContainsKeywordsPredicate( + Collections.singletonList("first")); + NameContainsKeywordsPredicate secondPredicate = new NameContainsKeywordsPredicate( + Collections.singletonList("second")); FindCommand findFirstCommand = new FindCommand(firstPredicate); FindCommand findSecondCommand = new FindCommand(secondPredicate); diff --git a/src/test/java/seedu/address/logic/commands/ListCommandTest.java b/src/test/java/seedu/address/logic/commands/ListCommandTest.java index 435ff1f7275..85292847ac1 100644 --- a/src/test/java/seedu/address/logic/commands/ListCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ListCommandTest.java @@ -2,6 +2,7 @@ import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; import static seedu.address.logic.commands.CommandTestUtil.showPersonAtIndex; +import static seedu.address.testutil.TypicalDeliveryJobs.getTypicalDeliveryJobSystem; import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; @@ -13,7 +14,8 @@ import seedu.address.model.UserPrefs; /** - * Contains integration tests (interaction with the Model) and unit tests for ListCommand. + * Contains integration tests (interaction with the Model) and unit tests for + * ListCommand. */ public class ListCommandTest { @@ -22,8 +24,8 @@ public class ListCommandTest { @BeforeEach public void setUp() { - model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); + model = new ModelManager(getTypicalAddressBook(), getTypicalDeliveryJobSystem(), new UserPrefs()); + expectedModel = new ModelManager(model.getAddressBook(), getTypicalDeliveryJobSystem(), new UserPrefs()); } @Test diff --git a/src/test/java/seedu/address/model/ModelManagerTest.java b/src/test/java/seedu/address/model/ModelManagerTest.java index dd55cc972a8..9e5a0340f56 100644 --- a/src/test/java/seedu/address/model/ModelManagerTest.java +++ b/src/test/java/seedu/address/model/ModelManagerTest.java @@ -98,11 +98,12 @@ public void getFilteredPersonList_modifyList_throwsUnsupportedOperationException public void equals() { AddressBook addressBook = new AddressBookBuilder().withPerson(ALICE).withPerson(BENSON).build(); AddressBook differentAddressBook = new AddressBook(); + DeliveryJobSystem deliveryJobSystem = new DeliveryJobSystem(); UserPrefs userPrefs = new UserPrefs(); // same values -> returns true - modelManager = new ModelManager(addressBook, userPrefs); - ModelManager modelManagerCopy = new ModelManager(addressBook, userPrefs); + modelManager = new ModelManager(addressBook, deliveryJobSystem, userPrefs); + ModelManager modelManagerCopy = new ModelManager(addressBook, deliveryJobSystem, userPrefs); assertTrue(modelManager.equals(modelManagerCopy)); // same object -> returns true @@ -115,12 +116,12 @@ public void equals() { assertFalse(modelManager.equals(5)); // different addressBook -> returns false - assertFalse(modelManager.equals(new ModelManager(differentAddressBook, userPrefs))); + assertFalse(modelManager.equals(new ModelManager(differentAddressBook, deliveryJobSystem, userPrefs))); // different filteredList -> returns false String[] keywords = ALICE.getName().fullName.split("\\s+"); modelManager.updateFilteredPersonList(new NameContainsKeywordsPredicate(Arrays.asList(keywords))); - assertFalse(modelManager.equals(new ModelManager(addressBook, userPrefs))); + assertFalse(modelManager.equals(new ModelManager(addressBook, deliveryJobSystem, userPrefs))); // resets modelManager to initial state for upcoming tests modelManager.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); @@ -128,6 +129,6 @@ public void equals() { // different userPrefs -> returns false UserPrefs differentUserPrefs = new UserPrefs(); differentUserPrefs.setAddressBookFilePath(Paths.get("differentFilePath")); - assertFalse(modelManager.equals(new ModelManager(addressBook, differentUserPrefs))); + assertFalse(modelManager.equals(new ModelManager(addressBook, deliveryJobSystem, differentUserPrefs))); } } diff --git a/src/test/java/seedu/address/testutil/TypicalDeliveryJobs.java b/src/test/java/seedu/address/testutil/TypicalDeliveryJobs.java index cfac3def816..6e4e988f16b 100644 --- a/src/test/java/seedu/address/testutil/TypicalDeliveryJobs.java +++ b/src/test/java/seedu/address/testutil/TypicalDeliveryJobs.java @@ -6,7 +6,6 @@ import seedu.address.model.DeliveryJobSystem; import seedu.address.model.jobs.DeliveryJob; -import seedu.address.model.jobs.Earning; /** * A set of TypicalDeliveryJobs @@ -14,30 +13,30 @@ public class TypicalDeliveryJobs { public static final DeliveryJob JOBA = new DeliveryJob( - TypicalPersons.ALICE, - "dummy slot", - new Earning("1.0")); + TypicalPersons.ALICE, + "dummy slot", + "1.0"); public static final DeliveryJob JOBB = new DeliveryJob( - TypicalPersons.BOB, - "dummy slot", - new Earning("2.0")); + TypicalPersons.BOB, + "dummy slot", + "2.0"); public static final DeliveryJob JOBC = new DeliveryJob( - TypicalPersons.CARL, - "dummy slot", - new Earning("3.0")); + TypicalPersons.CARL, + "dummy slot", + "3.0"); public static final DeliveryJob JOBD = new DeliveryJob( - TypicalPersons.DANIEL, - "dummy slot", - new Earning("4.0")); + TypicalPersons.DANIEL, + "dummy slot", + "4.0"); public static final DeliveryJob JOBE = new DeliveryJob( - TypicalPersons.ELLE, - "dummy slot", - new Earning("5.0")); + TypicalPersons.ELLE, + "dummy slot", + "5.0"); public static final DeliveryJob JOBF = new DeliveryJob( - TypicalPersons.FIONA, - "dummy slot", - new Earning("6.0")); + TypicalPersons.FIONA, + "dummy slot", + "6.0"); public static DeliveryJobSystem getTypicalDeliveryJobSystem() { DeliveryJobSystem sampleDS = new DeliveryJobSystem(); From 5c0675597e6025c51fe60e454210dbadfbe5e517 Mon Sep 17 00:00:00 2001 From: dohaduong Date: Sun, 12 Mar 2023 16:15:23 +0800 Subject: [PATCH 093/470] Add timetable button Timetable button helps to open a new window to display timetable (jobs sorted based on timing) and view scheduled jobs. A separate menu will demarcate contact management and job scheduling functions of the app. Let's replicate the main window after selecting the job item in the job menu It is done this way so we can still follow and extend from the existing code structure. --- docs/UserGuide.md | 6 +- .../java/seedu/address/ui/MainWindow.java | 19 +++ .../seedu/address/ui/TimetableWindow.java | 150 ++++++++++++++++++ src/main/resources/view/MainWindow.fxml | 4 + src/main/resources/view/TimetableWindow.fxml | 49 ++++++ 5 files changed, 225 insertions(+), 3 deletions(-) create mode 100644 src/main/java/seedu/address/ui/TimetableWindow.java create mode 100644 src/main/resources/view/TimetableWindow.fxml diff --git a/docs/UserGuide.md b/docs/UserGuide.md index ddddff434f4..5baed51e8d4 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -13,9 +13,9 @@ Duke Driver is a desktop app for managing delivery jobs and contacts. If you are * Reminder and notifications: * Set reminder for upcoming deadlines * Get notified as soon as you open the app - * Direct messaging: - * Linked with contact list (dummy) - * Text messaging + * Timetable: + * Linked with job list + * Display timetable of all scheduled/upcoming jobs * Stats dashboard: * List all jobs * Show total number of jobs diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java index 6b5ddce89ea..9b5c9339170 100644 --- a/src/main/java/seedu/address/ui/MainWindow.java +++ b/src/main/java/seedu/address/ui/MainWindow.java @@ -34,6 +34,7 @@ public class MainWindow extends UiPart { private PersonListPanel personListPanel; private ResultDisplay resultDisplay; private HelpWindow helpWindow; + private TimetableWindow timetableWindow; @FXML private StackPane commandBoxPlaceholder; @@ -41,6 +42,9 @@ public class MainWindow extends UiPart { @FXML private MenuItem helpMenuItem; + @FXML + private MenuItem timetableMenuItem; + @FXML private StackPane personListPanelPlaceholder; @@ -66,6 +70,7 @@ public MainWindow(Stage primaryStage, Logic logic) { setAccelerators(); helpWindow = new HelpWindow(); + timetableWindow = new TimetableWindow(new Stage(), logic); } public Stage getPrimaryStage() { @@ -148,6 +153,19 @@ public void handleHelp() { } } + /** + * Opens Timetable window. + */ + @FXML + private void handleTimetable() { + if (!timetableWindow.isShowing()) { + timetableWindow.show(); + timetableWindow.fillInnerParts(); + } else { + timetableWindow.focus(); + } + } + void show() { primaryStage.show(); } @@ -161,6 +179,7 @@ private void handleExit() { (int) primaryStage.getX(), (int) primaryStage.getY()); logic.setGuiSettings(guiSettings); helpWindow.hide(); + timetableWindow.hide(); primaryStage.hide(); } diff --git a/src/main/java/seedu/address/ui/TimetableWindow.java b/src/main/java/seedu/address/ui/TimetableWindow.java new file mode 100644 index 00000000000..7b65eacdbb1 --- /dev/null +++ b/src/main/java/seedu/address/ui/TimetableWindow.java @@ -0,0 +1,150 @@ +package seedu.address.ui; + +import java.util.logging.Logger; + +import javafx.fxml.FXML; +import javafx.scene.layout.StackPane; +import javafx.stage.Stage; +import seedu.address.commons.core.GuiSettings; +import seedu.address.commons.core.LogsCenter; +import seedu.address.logic.Logic; +import seedu.address.logic.commands.CommandResult; +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.logic.parser.exceptions.ParseException; + +/** + * Controller for a timetable page + */ +public class TimetableWindow extends UiPart { + + private static final String FXML = "TimetableWindow.fxml"; + private final Logger logger = LogsCenter.getLogger(getClass()); + private Stage primaryStage; + private Logic logic; + + // Independent Ui parts residing in this Ui container + //private jobListPanel jobListPanel; + private ResultDisplay resultDisplay; + @FXML + private StackPane commandBoxPlaceholder; + @FXML + private StackPane jobListPanelPlaceholder; + @FXML + private StackPane resultDisplayPlaceholder; + @FXML + private StackPane statusbarPlaceholder; + + /** + * Creates a {@code JobWindow} with the given {@code Stage} and {@code Logic}. + */ + public TimetableWindow(Stage primaryStage, Logic logic) { + super(FXML, primaryStage); + + // Set dependencies + this.primaryStage = primaryStage; + this.logic = logic; + + // Configure the UI + setWindowDefaultSize(logic.getGuiSettings()); + } + + /** + * Shows the help window. + * @throws IllegalStateException + *
      + *
    • + * if this method is called on a thread other than the JavaFX Application Thread. + *
    • + *
    • + * if this method is called during animation or layout processing. + *
    • + *
    • + * if this method is called on the primary stage. + *
    • + *
    • + * if {@code dialogStage} is already showing. + *
    • + *
    + */ + public void show() { + logger.fine("Showing help page about the application."); + getRoot().show(); + getRoot().centerOnScreen(); + } + + /** + * Returns true if the job window is currently being shown. + */ + public boolean isShowing() { + return getRoot().isShowing(); + } + + /** + * Hides the job window. + */ + public void hide() { + getRoot().hide(); + } + + /** + * Focuses on the job window. + */ + public void focus() { + getRoot().requestFocus(); + } + + /** + * Fills up all the placeholders of this window. + */ + void fillInnerParts() { + //jobListPanel = new jobListPanel(logic.getFilteredjobList()); + //jobListPanelPlaceholder.getChildren().add(jobListPanel.getRoot()); + + resultDisplay = new ResultDisplay(); + resultDisplayPlaceholder.getChildren().add(resultDisplay.getRoot()); + + StatusBarFooter statusBarFooter = new StatusBarFooter(logic.getAddressBookFilePath()); + statusbarPlaceholder.getChildren().add(statusBarFooter.getRoot()); + + CommandBox commandBox = new CommandBox(this::executeCommand); + commandBoxPlaceholder.getChildren().add(commandBox.getRoot()); + } + + /** + * Sets the default size based on {@code guiSettings}. + */ + private void setWindowDefaultSize(GuiSettings guiSettings) { + primaryStage.setHeight(guiSettings.getWindowHeight()); + primaryStage.setWidth(guiSettings.getWindowWidth()); + if (guiSettings.getWindowCoordinates() != null) { + primaryStage.setX(guiSettings.getWindowCoordinates().getX()); + primaryStage.setY(guiSettings.getWindowCoordinates().getY()); + } + } + + @FXML + private void handleExit() { + GuiSettings guiSettings = new GuiSettings(primaryStage.getWidth(), primaryStage.getHeight(), + (int) primaryStage.getX(), (int) primaryStage.getY()); + logic.setGuiSettings(guiSettings); + primaryStage.hide(); + } + /** + * Executes the command and returns the result. + * + * @see seedu.address.logic.Logic#execute(String) + */ + private CommandResult executeCommand(String commandText) throws CommandException, ParseException { + try { + CommandResult commandResult = logic.execute(commandText); + logger.info("Result: " + commandResult.getFeedbackToUser()); + resultDisplay.setFeedbackToUser(commandResult.getFeedbackToUser()); + + return commandResult; + } catch (CommandException | ParseException e) { + logger.info("Invalid command: " + commandText); + resultDisplay.setFeedbackToUser(e.getMessage()); + throw e; + } + } +} \ No newline at end of file diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index a431648f6c0..5e1a1b3b203 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -31,6 +31,10 @@ + + + + diff --git a/src/main/resources/view/TimetableWindow.fxml b/src/main/resources/view/TimetableWindow.fxml new file mode 100644 index 00000000000..36a217283cf --- /dev/null +++ b/src/main/resources/view/TimetableWindow.fxml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From acf67a7915c32a74a065d8a7b33bd8b3707e3a6e Mon Sep 17 00:00:00 2001 From: dohaduong Date: Sun, 12 Mar 2023 16:16:13 +0800 Subject: [PATCH 094/470] Update UG Chat function is deleted and replaced by Timetable function Updating Timetable function in UG is necessary as it helps users to access the function more easily. Let's update and add Timetable function in UG --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 5baed51e8d4..82a3aa02e70 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -14,7 +14,7 @@ Duke Driver is a desktop app for managing delivery jobs and contacts. If you are * Set reminder for upcoming deadlines * Get notified as soon as you open the app * Timetable: - * Linked with job list + * Linked with list of jobs * Display timetable of all scheduled/upcoming jobs * Stats dashboard: * List all jobs From 8fa711aaafb31b0314470a7ded01ec7fdb835ee6 Mon Sep 17 00:00:00 2001 From: dohaduong Date: Sun, 12 Mar 2023 16:23:43 +0800 Subject: [PATCH 095/470] Update to pass CI test TimetableWindow does not have blank line at end of file One blank line at each file is needed to improve Code Quality Let's add missing blank line --- src/main/java/seedu/address/ui/TimetableWindow.java | 3 ++- src/main/resources/view/TimetableWindow.fxml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/address/ui/TimetableWindow.java b/src/main/java/seedu/address/ui/TimetableWindow.java index 7b65eacdbb1..e8c1b035a95 100644 --- a/src/main/java/seedu/address/ui/TimetableWindow.java +++ b/src/main/java/seedu/address/ui/TimetableWindow.java @@ -147,4 +147,5 @@ private CommandResult executeCommand(String commandText) throws CommandException throw e; } } -} \ No newline at end of file +} + diff --git a/src/main/resources/view/TimetableWindow.fxml b/src/main/resources/view/TimetableWindow.fxml index 36a217283cf..015158d3fb0 100644 --- a/src/main/resources/view/TimetableWindow.fxml +++ b/src/main/resources/view/TimetableWindow.fxml @@ -46,4 +46,5 @@ - \ No newline at end of file + + From fb777d2f5f616fd8592d0278c972d3ea0b1176f4 Mon Sep 17 00:00:00 2001 From: zuohui48 <83281769+zuohui48@users.noreply.github.com> Date: Sun, 12 Mar 2023 20:55:11 +0800 Subject: [PATCH 096/470] Delete StatsCommand.java --- src/main/java/seedu/address/logic/commands/StatsCommand.java | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 src/main/java/seedu/address/logic/commands/StatsCommand.java diff --git a/src/main/java/seedu/address/logic/commands/StatsCommand.java b/src/main/java/seedu/address/logic/commands/StatsCommand.java deleted file mode 100644 index 501547d2ab0..00000000000 --- a/src/main/java/seedu/address/logic/commands/StatsCommand.java +++ /dev/null @@ -1,2 +0,0 @@ -package seedu.address.logic.commands;public class StatsCommand { -} From fc6eaa39a67e297a076a518c7809912b6c5054a7 Mon Sep 17 00:00:00 2001 From: dohaduong Date: Sun, 12 Mar 2023 22:05:08 +0800 Subject: [PATCH 097/470] Update TimetableCommand Missing timetable command hinders users from using timetable function easily. Add timetable command helps users to access timetable more easily from main window. Let's update timetable command --- .../address/logic/commands/TimetableCommand.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 src/main/java/seedu/address/logic/commands/TimetableCommand.java diff --git a/src/main/java/seedu/address/logic/commands/TimetableCommand.java b/src/main/java/seedu/address/logic/commands/TimetableCommand.java new file mode 100644 index 00000000000..c6f89add209 --- /dev/null +++ b/src/main/java/seedu/address/logic/commands/TimetableCommand.java @@ -0,0 +1,13 @@ +package seedu.address.logic.commands; + +import seedu.address.model.jobs.UniqueDeliveryList; + +public class TimetableCommand { + private final UniqueDeliveryList jobs; + + { + jobs = new UniqueDeliveryList(); + } + + +} From da8ee048c9bb5b201134bbeaf81434a5351c4e5f Mon Sep 17 00:00:00 2001 From: c0j0s Date: Sun, 12 Mar 2023 22:43:28 +0800 Subject: [PATCH 098/470] Add job list view to main window --- src/main/java/seedu/address/logic/Logic.java | 6 + .../seedu/address/logic/LogicManager.java | 6 + .../java/seedu/address/ui/MainWindow.java | 24 +++- .../seedu/address/ui/StatisticsWindow.java | 5 +- .../seedu/address/ui/job/DeliveryJobCard.java | 76 ++++++++++++ .../address/ui/job/DeliveryJobListPanel.java | 50 ++++++++ src/main/resources/view/DarkTheme.css | 3 +- .../resources/view/DeliveryJobListCard.fxml | 40 +++++++ .../resources/view/DeliveryJobListPanel.fxml | 8 ++ src/main/resources/view/MainWindow-old.fxml | 63 ++++++++++ src/main/resources/view/MainWindow.fxml | 112 +++++++++++------- 11 files changed, 338 insertions(+), 55 deletions(-) create mode 100644 src/main/java/seedu/address/ui/job/DeliveryJobCard.java create mode 100644 src/main/java/seedu/address/ui/job/DeliveryJobListPanel.java create mode 100644 src/main/resources/view/DeliveryJobListCard.fxml create mode 100644 src/main/resources/view/DeliveryJobListPanel.fxml create mode 100644 src/main/resources/view/MainWindow-old.fxml diff --git a/src/main/java/seedu/address/logic/Logic.java b/src/main/java/seedu/address/logic/Logic.java index 7eb3c570fee..fdb49dffc16 100644 --- a/src/main/java/seedu/address/logic/Logic.java +++ b/src/main/java/seedu/address/logic/Logic.java @@ -8,6 +8,7 @@ import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.logic.parser.exceptions.ParseException; import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.jobs.DeliveryJob; import seedu.address.model.person.Person; import seedu.address.model.reminder.Reminder; @@ -37,6 +38,11 @@ public interface Logic { */ ObservableList getFilteredPersonList(); + /** + * Returns an unmodifiable view of the filtered list of delivery jobs + */ + ObservableList getFilteredDeliveryJobList(); + /** * Returns an unmodifiable view of the filtered list of persons */ diff --git a/src/main/java/seedu/address/logic/LogicManager.java b/src/main/java/seedu/address/logic/LogicManager.java index 69eeea18737..efbcb209d1d 100644 --- a/src/main/java/seedu/address/logic/LogicManager.java +++ b/src/main/java/seedu/address/logic/LogicManager.java @@ -14,6 +14,7 @@ import seedu.address.logic.parser.exceptions.ParseException; import seedu.address.model.Model; import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.jobs.DeliveryJob; import seedu.address.model.person.Person; import seedu.address.model.reminder.Reminder; import seedu.address.storage.Storage; @@ -66,6 +67,11 @@ public ObservableList getFilteredPersonList() { return model.getFilteredPersonList(); } + @Override + public ObservableList getFilteredDeliveryJobList() { + return model.getDeliveryJobList(); + } + @Override public ObservableList getReminderList() { return model.getReminderList(); diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java index d71bf399543..fe8260ba840 100644 --- a/src/main/java/seedu/address/ui/MainWindow.java +++ b/src/main/java/seedu/address/ui/MainWindow.java @@ -16,6 +16,7 @@ import seedu.address.logic.commands.CommandResult; import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.logic.parser.exceptions.ParseException; +import seedu.address.ui.job.DeliveryJobListPanel; /** * The Main Window. Provides the basic application layout containing @@ -31,7 +32,8 @@ public class MainWindow extends UiPart { private Logic logic; // Independent Ui parts residing in this Ui container - private PersonListPanel personListPanel; + // private PersonListPanel personListPanel; + private DeliveryJobListPanel deliveryJobListPanel; private ResultDisplay resultDisplay; private HelpWindow helpWindow; private StatisticsWindow statsWindow; @@ -45,8 +47,11 @@ public class MainWindow extends UiPart { @FXML private MenuItem statsItem; + // @FXML + // private StackPane personListPanelPlaceholder; + @FXML - private StackPane personListPanelPlaceholder; + private StackPane deliveryJobListPanelPlaceholder; @FXML private StackPane resultDisplayPlaceholder; @@ -116,8 +121,11 @@ private void setAccelerator(MenuItem menuItem, KeyCombination keyCombination) { * Fills up all the placeholders of this window. */ void fillInnerParts() { - personListPanel = new PersonListPanel(logic.getFilteredPersonList()); - personListPanelPlaceholder.getChildren().add(personListPanel.getRoot()); + // personListPanel = new PersonListPanel(logic.getFilteredPersonList()); + // personListPanelPlaceholder.getChildren().add(personListPanel.getRoot()); + + deliveryJobListPanel = new DeliveryJobListPanel(logic.getFilteredDeliveryJobList()); + deliveryJobListPanelPlaceholder.getChildren().add(deliveryJobListPanel.getRoot()); resultDisplay = new ResultDisplay(); resultDisplayPlaceholder.getChildren().add(resultDisplay.getRoot()); @@ -183,8 +191,12 @@ private void handleStats() { } } - public PersonListPanel getPersonListPanel() { - return personListPanel; + // public PersonListPanel getPersonListPanel() { + // return personListPanel; + // } + + public DeliveryJobListPanel getDeliveryJobListPanel() { + return deliveryJobListPanel; } /** diff --git a/src/main/java/seedu/address/ui/StatisticsWindow.java b/src/main/java/seedu/address/ui/StatisticsWindow.java index 1c53378b1f4..6c68fc51ff8 100644 --- a/src/main/java/seedu/address/ui/StatisticsWindow.java +++ b/src/main/java/seedu/address/ui/StatisticsWindow.java @@ -17,11 +17,12 @@ * Controller for a statistics page */ public class StatisticsWindow extends UiPart { - public static final String STATISTICS= "Here are your statistics: "; + public static final String STATISTICS = "Here are your statistics: "; + private static final String FXML = "StatisticsWindow.fxml"; + private final Logger logger = LogsCenter.getLogger(getClass()); private Stage primaryStage; private Logic logic; - private static final String FXML = "StatisticsWindow.fxml"; private ResultDisplay resultDisplay; @FXML diff --git a/src/main/java/seedu/address/ui/job/DeliveryJobCard.java b/src/main/java/seedu/address/ui/job/DeliveryJobCard.java new file mode 100644 index 00000000000..618846627b4 --- /dev/null +++ b/src/main/java/seedu/address/ui/job/DeliveryJobCard.java @@ -0,0 +1,76 @@ +package seedu.address.ui.job; + +import javafx.fxml.FXML; +import javafx.scene.control.Label; +import javafx.scene.layout.HBox; +import javafx.scene.layout.Region; +import seedu.address.model.jobs.DeliveryJob; +import seedu.address.ui.UiPart; + +/** + * An UI component that displays information of a {@code Person}. + */ +public class DeliveryJobCard extends UiPart { + + private static final String FXML = "DeliveryJobListCard.fxml"; + + /** + * Note: Certain keywords such as "location" and "resources" are reserved keywords in JavaFX. + * As a consequence, UI elements' variable names cannot be set to such keywords + * or an exception will be thrown by JavaFX during runtime. + * + * @see
    The issue on AddressBook level 4 + */ + + public final DeliveryJob job; + + @FXML + private HBox cardPane; + @FXML + private Label label; + @FXML + private Label id; + @FXML + private Label receipient; + @FXML + private Label address; + @FXML + private Label deliveryTimeSlot; + @FXML + private Label earning; + @FXML + private Label completedStatus; + + /** + * Creates a {@code PersonCode} with the given {@code Person} and index to display. + */ + public DeliveryJobCard(DeliveryJob job, int displayedIndex) { + super(FXML); + this.job = job; + id.setText(displayedIndex + ". "); + label.setText(job.getJobId()); + receipient.setText(job.getRecepient().getName().fullName); + address.setText(job.getRecepient().getAddress().value); + deliveryTimeSlot.setText(job.getDeliverSlot()); + earning.setText(job.getEarning().value); + completedStatus.setText(String.valueOf(job.getDeliveredStatus())); + } + + @Override + public boolean equals(Object other) { + // short circuit if same object + if (other == this) { + return true; + } + + // instanceof handles nulls + if (!(other instanceof DeliveryJobCard)) { + return false; + } + + // state check + DeliveryJobCard card = (DeliveryJobCard) other; + return id.getText().equals(card.id.getText()) + && job.equals(card.job); + } +} diff --git a/src/main/java/seedu/address/ui/job/DeliveryJobListPanel.java b/src/main/java/seedu/address/ui/job/DeliveryJobListPanel.java new file mode 100644 index 00000000000..f7a766dd233 --- /dev/null +++ b/src/main/java/seedu/address/ui/job/DeliveryJobListPanel.java @@ -0,0 +1,50 @@ +package seedu.address.ui.job; + +import java.util.logging.Logger; + +import javafx.collections.ObservableList; +import javafx.fxml.FXML; +import javafx.scene.control.ListCell; +import javafx.scene.control.ListView; +import javafx.scene.layout.Region; +import seedu.address.commons.core.LogsCenter; +import seedu.address.model.jobs.DeliveryJob; +import seedu.address.ui.UiPart; + +/** + * Panel containing the list of persons. + */ +public class DeliveryJobListPanel extends UiPart { + private static final String FXML = "DeliveryJobListPanel.fxml"; + private final Logger logger = LogsCenter.getLogger(DeliveryJobListPanel.class); + + @FXML + private ListView deliveryJobListView; + + /** + * Creates a {@code DeliveryJobListPanel} with the given {@code ObservableList}. + */ + public DeliveryJobListPanel(ObservableList jobList) { + super(FXML); + deliveryJobListView.setItems(jobList); + deliveryJobListView.setCellFactory(listView -> new DeliveryJobListViewCell()); + } + + /** + * Custom {@code ListCell} that displays the graphics of a {@code job} using a {@code PersonCard}. + */ + class DeliveryJobListViewCell extends ListCell { + @Override + protected void updateItem(DeliveryJob job, boolean empty) { + super.updateItem(job, empty); + + if (empty || job == null) { + setGraphic(null); + setText(null); + } else { + setGraphic(new DeliveryJobCard(job, getIndex() + 1).getRoot()); + } + } + } + +} diff --git a/src/main/resources/view/DarkTheme.css b/src/main/resources/view/DarkTheme.css index 36e6b001cd8..0cc1fc7308c 100644 --- a/src/main/resources/view/DarkTheme.css +++ b/src/main/resources/view/DarkTheme.css @@ -309,7 +309,8 @@ #cardPane { -fx-background-color: transparent; - -fx-border-width: 0; + -fx-border-color: #383838; + -fx-border-width: 1; } #commandTypeLabel { diff --git a/src/main/resources/view/DeliveryJobListCard.fxml b/src/main/resources/view/DeliveryJobListCard.fxml new file mode 100644 index 00000000000..5ae40d39012 --- /dev/null +++ b/src/main/resources/view/DeliveryJobListCard.fxml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/view/DeliveryJobListPanel.fxml b/src/main/resources/view/DeliveryJobListPanel.fxml new file mode 100644 index 00000000000..645dfa8c0ff --- /dev/null +++ b/src/main/resources/view/DeliveryJobListPanel.fxml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/main/resources/view/MainWindow-old.fxml b/src/main/resources/view/MainWindow-old.fxml new file mode 100644 index 00000000000..d17c636bbd8 --- /dev/null +++ b/src/main/resources/view/MainWindow-old.fxml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index d17c636bbd8..c35b931d84e 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -8,56 +8,76 @@ + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From ee116042f6340765ee4ff641b334aad753548bd1 Mon Sep 17 00:00:00 2001 From: c0j0s Date: Sun, 12 Mar 2023 23:00:24 +0800 Subject: [PATCH 099/470] Fix deleted menu item --- src/main/java/seedu/address/ui/MainWindow.java | 6 ++++-- src/main/java/seedu/address/ui/StatisticsWindow.java | 1 + src/main/java/seedu/address/ui/TimetableWindow.java | 3 +++ src/main/java/seedu/address/ui/{ => main}/CommandBox.java | 3 ++- .../java/seedu/address/ui/{ => main}/ResultDisplay.java | 3 ++- .../java/seedu/address/ui/{ => main}/StatusBarFooter.java | 3 ++- src/main/java/seedu/address/ui/{ => person}/PersonCard.java | 3 ++- .../java/seedu/address/ui/{ => person}/PersonListPanel.java | 3 ++- src/main/resources/view/MainWindow.fxml | 3 +++ 9 files changed, 21 insertions(+), 7 deletions(-) rename src/main/java/seedu/address/ui/{ => main}/CommandBox.java (97%) rename src/main/java/seedu/address/ui/{ => main}/ResultDisplay.java (90%) rename src/main/java/seedu/address/ui/{ => main}/StatusBarFooter.java (91%) rename src/main/java/seedu/address/ui/{ => person}/PersonCard.java (97%) rename src/main/java/seedu/address/ui/{ => person}/PersonListPanel.java (95%) diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java index 85d6eccc89e..719b84843d0 100644 --- a/src/main/java/seedu/address/ui/MainWindow.java +++ b/src/main/java/seedu/address/ui/MainWindow.java @@ -17,6 +17,9 @@ import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.logic.parser.exceptions.ParseException; import seedu.address.ui.job.DeliveryJobListPanel; +import seedu.address.ui.main.CommandBox; +import seedu.address.ui.main.ResultDisplay; +import seedu.address.ui.main.StatusBarFooter; /** * The Main Window. Provides the basic application layout containing @@ -46,9 +49,8 @@ public class MainWindow extends UiPart { private MenuItem helpMenuItem; @FXML - private MenuItem timetableMenuItem; - + @FXML private MenuItem statsItem; diff --git a/src/main/java/seedu/address/ui/StatisticsWindow.java b/src/main/java/seedu/address/ui/StatisticsWindow.java index 6c68fc51ff8..5fcc747f6e0 100644 --- a/src/main/java/seedu/address/ui/StatisticsWindow.java +++ b/src/main/java/seedu/address/ui/StatisticsWindow.java @@ -12,6 +12,7 @@ import seedu.address.logic.commands.CommandResult; import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.logic.parser.exceptions.ParseException; +import seedu.address.ui.main.ResultDisplay; /** * Controller for a statistics page diff --git a/src/main/java/seedu/address/ui/TimetableWindow.java b/src/main/java/seedu/address/ui/TimetableWindow.java index e8c1b035a95..2f5b7fc8ca0 100644 --- a/src/main/java/seedu/address/ui/TimetableWindow.java +++ b/src/main/java/seedu/address/ui/TimetableWindow.java @@ -11,6 +11,9 @@ import seedu.address.logic.commands.CommandResult; import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.logic.parser.exceptions.ParseException; +import seedu.address.ui.main.CommandBox; +import seedu.address.ui.main.ResultDisplay; +import seedu.address.ui.main.StatusBarFooter; /** * Controller for a timetable page diff --git a/src/main/java/seedu/address/ui/CommandBox.java b/src/main/java/seedu/address/ui/main/CommandBox.java similarity index 97% rename from src/main/java/seedu/address/ui/CommandBox.java rename to src/main/java/seedu/address/ui/main/CommandBox.java index 9e75478664b..d27ede721d7 100644 --- a/src/main/java/seedu/address/ui/CommandBox.java +++ b/src/main/java/seedu/address/ui/main/CommandBox.java @@ -1,4 +1,4 @@ -package seedu.address.ui; +package seedu.address.ui.main; import javafx.collections.ObservableList; import javafx.fxml.FXML; @@ -7,6 +7,7 @@ import seedu.address.logic.commands.CommandResult; import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.logic.parser.exceptions.ParseException; +import seedu.address.ui.UiPart; /** * The UI component that is responsible for receiving user command inputs. diff --git a/src/main/java/seedu/address/ui/ResultDisplay.java b/src/main/java/seedu/address/ui/main/ResultDisplay.java similarity index 90% rename from src/main/java/seedu/address/ui/ResultDisplay.java rename to src/main/java/seedu/address/ui/main/ResultDisplay.java index 7d98e84eedf..70a3c3b7657 100644 --- a/src/main/java/seedu/address/ui/ResultDisplay.java +++ b/src/main/java/seedu/address/ui/main/ResultDisplay.java @@ -1,10 +1,11 @@ -package seedu.address.ui; +package seedu.address.ui.main; import static java.util.Objects.requireNonNull; import javafx.fxml.FXML; import javafx.scene.control.TextArea; import javafx.scene.layout.Region; +import seedu.address.ui.UiPart; /** * A ui for the status bar that is displayed at the header of the application. diff --git a/src/main/java/seedu/address/ui/StatusBarFooter.java b/src/main/java/seedu/address/ui/main/StatusBarFooter.java similarity index 91% rename from src/main/java/seedu/address/ui/StatusBarFooter.java rename to src/main/java/seedu/address/ui/main/StatusBarFooter.java index b577f829423..24febd46224 100644 --- a/src/main/java/seedu/address/ui/StatusBarFooter.java +++ b/src/main/java/seedu/address/ui/main/StatusBarFooter.java @@ -1,4 +1,4 @@ -package seedu.address.ui; +package seedu.address.ui.main; import java.nio.file.Path; import java.nio.file.Paths; @@ -6,6 +6,7 @@ import javafx.fxml.FXML; import javafx.scene.control.Label; import javafx.scene.layout.Region; +import seedu.address.ui.UiPart; /** * A ui for the status bar that is displayed at the footer of the application. diff --git a/src/main/java/seedu/address/ui/PersonCard.java b/src/main/java/seedu/address/ui/person/PersonCard.java similarity index 97% rename from src/main/java/seedu/address/ui/PersonCard.java rename to src/main/java/seedu/address/ui/person/PersonCard.java index 7fc927bc5d9..0cec0b2999d 100644 --- a/src/main/java/seedu/address/ui/PersonCard.java +++ b/src/main/java/seedu/address/ui/person/PersonCard.java @@ -1,4 +1,4 @@ -package seedu.address.ui; +package seedu.address.ui.person; import java.util.Comparator; @@ -8,6 +8,7 @@ import javafx.scene.layout.HBox; import javafx.scene.layout.Region; import seedu.address.model.person.Person; +import seedu.address.ui.UiPart; /** * An UI component that displays information of a {@code Person}. diff --git a/src/main/java/seedu/address/ui/PersonListPanel.java b/src/main/java/seedu/address/ui/person/PersonListPanel.java similarity index 95% rename from src/main/java/seedu/address/ui/PersonListPanel.java rename to src/main/java/seedu/address/ui/person/PersonListPanel.java index f4c501a897b..377b13b760d 100644 --- a/src/main/java/seedu/address/ui/PersonListPanel.java +++ b/src/main/java/seedu/address/ui/person/PersonListPanel.java @@ -1,4 +1,4 @@ -package seedu.address.ui; +package seedu.address.ui.person; import java.util.logging.Logger; @@ -9,6 +9,7 @@ import javafx.scene.layout.Region; import seedu.address.commons.core.LogsCenter; import seedu.address.model.person.Person; +import seedu.address.ui.UiPart; /** * Panel containing the list of persons. diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index c35b931d84e..52b20643e4f 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -33,6 +33,9 @@ + + + From 6919669c1b8f11869d2554a6611cbed0a43360cd Mon Sep 17 00:00:00 2001 From: c0j0s Date: Sun, 12 Mar 2023 23:01:17 +0800 Subject: [PATCH 100/470] Update StatisticsWindow.css --- src/main/resources/view/StatisticsWindow.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/view/StatisticsWindow.css b/src/main/resources/view/StatisticsWindow.css index 0a79e2b3629..94a71957f60 100644 --- a/src/main/resources/view/StatisticsWindow.css +++ b/src/main/resources/view/StatisticsWindow.css @@ -5,4 +5,4 @@ #statsMessageContainer { -fx-background-color: derive(#1d1d1d, 20%); -} \ No newline at end of file +} From 4db00ee1714fe784ba74289d30d9ad0514867ad7 Mon Sep 17 00:00:00 2001 From: dohaduong Date: Mon, 13 Mar 2023 21:21:11 +0800 Subject: [PATCH 101/470] Add timetable command Timetable is only shown when clicking on the corresponding button. Adding a timetable command will help to enhance users' experience because users may opt for commands sometimes. Let's * add timetable command * enhance timetable command to open timetable window --- .../address/logic/commands/CommandResult.java | 17 +++++++-- .../address/logic/commands/ExitCommand.java | 2 +- .../address/logic/commands/HelpCommand.java | 2 +- .../logic/commands/TimetableCommand.java | 35 +++++++++++++++--- .../logic/parser/AddressBookParser.java | 20 ++++------ .../seedu/address/logic/parser/CliSyntax.java | 1 - src/main/java/seedu/address/model/Model.java | 5 +++ .../seedu/address/model/ModelManager.java | 21 ++++++++++- .../model/jobs/sorters/SortbyTime.java | 22 +++++++++++ .../java/seedu/address/ui/MainWindow.java | 4 ++ src/main/resources/images/timetable.png | Bin 0 -> 35464 bytes src/main/resources/view/TimetableWindow.fxml | 4 +- .../logic/commands/HelpCommandTest.java | 2 +- 13 files changed, 107 insertions(+), 28 deletions(-) create mode 100644 src/main/java/seedu/address/model/jobs/sorters/SortbyTime.java create mode 100644 src/main/resources/images/timetable.png diff --git a/src/main/java/seedu/address/logic/commands/CommandResult.java b/src/main/java/seedu/address/logic/commands/CommandResult.java index 4f06a6069db..e8fc4250e4a 100644 --- a/src/main/java/seedu/address/logic/commands/CommandResult.java +++ b/src/main/java/seedu/address/logic/commands/CommandResult.java @@ -16,6 +16,11 @@ public class CommandResult { */ private final boolean showHelp; + /** + * Timetable information should be shown to the user. + */ + private final boolean showTimetable; + /** * The application should exit. */ @@ -24,9 +29,10 @@ public class CommandResult { /** * Constructs a {@code CommandResult} with the specified fields. */ - public CommandResult(String feedbackToUser, boolean showHelp, boolean exit) { + public CommandResult(String feedbackToUser, boolean showHelp, boolean showTimetable, boolean exit) { this.feedbackToUser = requireNonNull(feedbackToUser); this.showHelp = showHelp; + this.showTimetable = showTimetable; this.exit = exit; } @@ -35,7 +41,7 @@ public CommandResult(String feedbackToUser, boolean showHelp, boolean exit) { * and other fields set to their default value. */ public CommandResult(String feedbackToUser) { - this(feedbackToUser, false, false); + this(feedbackToUser, false, false, false); } public String getFeedbackToUser() { @@ -46,6 +52,10 @@ public boolean isShowHelp() { return showHelp; } + public boolean isShowTimetable() { + return showTimetable; + } + public boolean isExit() { return exit; } @@ -64,12 +74,13 @@ public boolean equals(Object other) { CommandResult otherCommandResult = (CommandResult) other; return feedbackToUser.equals(otherCommandResult.feedbackToUser) && showHelp == otherCommandResult.showHelp + && showTimetable == otherCommandResult.showTimetable && exit == otherCommandResult.exit; } @Override public int hashCode() { - return Objects.hash(feedbackToUser, showHelp, exit); + return Objects.hash(feedbackToUser, showHelp, showTimetable, exit); } } diff --git a/src/main/java/seedu/address/logic/commands/ExitCommand.java b/src/main/java/seedu/address/logic/commands/ExitCommand.java index 3dd85a8ba90..eb7560413f9 100644 --- a/src/main/java/seedu/address/logic/commands/ExitCommand.java +++ b/src/main/java/seedu/address/logic/commands/ExitCommand.java @@ -13,7 +13,7 @@ public class ExitCommand extends Command { @Override public CommandResult execute(Model model) { - return new CommandResult(MESSAGE_EXIT_ACKNOWLEDGEMENT, false, true); + return new CommandResult(MESSAGE_EXIT_ACKNOWLEDGEMENT, false, false, true); } } diff --git a/src/main/java/seedu/address/logic/commands/HelpCommand.java b/src/main/java/seedu/address/logic/commands/HelpCommand.java index bf824f91bd0..07d26e2a23c 100644 --- a/src/main/java/seedu/address/logic/commands/HelpCommand.java +++ b/src/main/java/seedu/address/logic/commands/HelpCommand.java @@ -16,6 +16,6 @@ public class HelpCommand extends Command { @Override public CommandResult execute(Model model) { - return new CommandResult(SHOWING_HELP_MESSAGE, true, false); + return new CommandResult(SHOWING_HELP_MESSAGE, true, false, false); } } diff --git a/src/main/java/seedu/address/logic/commands/TimetableCommand.java b/src/main/java/seedu/address/logic/commands/TimetableCommand.java index c6f89add209..0c5dc2cbc25 100644 --- a/src/main/java/seedu/address/logic/commands/TimetableCommand.java +++ b/src/main/java/seedu/address/logic/commands/TimetableCommand.java @@ -1,13 +1,38 @@ package seedu.address.logic.commands; +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.model.Model; +import seedu.address.model.ReadOnlyDeliveryJobSystem; +import seedu.address.model.jobs.DeliveryJob; import seedu.address.model.jobs.UniqueDeliveryList; +import seedu.address.model.jobs.sorters.SortbyTime; -public class TimetableCommand { - private final UniqueDeliveryList jobs; +import java.util.Comparator; +import java.util.function.Predicate; - { - jobs = new UniqueDeliveryList(); - } +import static java.util.Objects.requireNonNull; + +public class TimetableCommand extends Command { + public static final String COMMAND_WORD = "timetable"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + + ": Shows timetable of scheduled/uncompleted jobs, " + + "sorted based on increasing timing\n" + + "Example: " + COMMAND_WORD; + + public static final String SHOWING_TIMETABLE_MESSAGE = "Opened timetable window."; + + public static final SortbyTime sorter = new SortbyTime(); + @Override + public CommandResult execute(Model model) throws CommandException { + requireNonNull(model); + + model.updateSortedDeliveryJobList(sorter); + model.getSortedDeliveryJobList(); + + return new CommandResult(SHOWING_TIMETABLE_MESSAGE, false, true, false); + } } + diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index 769c9d987a0..a6bb1c1666f 100644 --- a/src/main/java/seedu/address/logic/parser/AddressBookParser.java +++ b/src/main/java/seedu/address/logic/parser/AddressBookParser.java @@ -6,18 +6,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; -import seedu.address.logic.commands.AddCommand; -import seedu.address.logic.commands.AddReminder; -import seedu.address.logic.commands.ClearCommand; -import seedu.address.logic.commands.Command; -import seedu.address.logic.commands.DeleteCommand; -import seedu.address.logic.commands.DeleteReminder; -import seedu.address.logic.commands.EditCommand; -import seedu.address.logic.commands.ExitCommand; -import seedu.address.logic.commands.FindCommand; -import seedu.address.logic.commands.HelpCommand; -import seedu.address.logic.commands.ListCommand; -import seedu.address.logic.commands.ListReminder; +import seedu.address.logic.commands.*; import seedu.address.logic.parser.exceptions.ParseException; /** @@ -40,7 +29,9 @@ public class AddressBookParser { public Command parseCommand(String userInput) throws ParseException { final Matcher matcher = BASIC_COMMAND_FORMAT.matcher(userInput.trim()); if (!matcher.matches()) { - throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, HelpCommand.MESSAGE_USAGE)); + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, HelpCommand.MESSAGE_USAGE + + "\n" + + TimetableCommand.MESSAGE_USAGE)); } final String commandWord = matcher.group("commandWord"); @@ -80,6 +71,9 @@ public Command parseCommand(String userInput) throws ParseException { case DeleteReminder.COMMAND_WORD: return new DeleteReminderParser().parse(arguments); + case TimetableCommand.COMMAND_WORD: + return new TimetableCommand(); + default: throw new ParseException(MESSAGE_UNKNOWN_COMMAND); } diff --git a/src/main/java/seedu/address/logic/parser/CliSyntax.java b/src/main/java/seedu/address/logic/parser/CliSyntax.java index 8fc653bdf6e..782a8670c61 100644 --- a/src/main/java/seedu/address/logic/parser/CliSyntax.java +++ b/src/main/java/seedu/address/logic/parser/CliSyntax.java @@ -13,5 +13,4 @@ public class CliSyntax { public static final Prefix PREFIX_TAG = new Prefix("t/"); public static final Prefix PREFIX_DESCRIPTION = new Prefix("d/"); public static final Prefix PREFIX_TIME = new Prefix("time/"); - } diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index c0515d5e893..792f860a562 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -1,6 +1,7 @@ package seedu.address.model; import java.nio.file.Path; +import java.util.Comparator; import java.util.function.Predicate; import javafx.collections.ObservableList; @@ -110,6 +111,10 @@ public interface Model { ObservableList getDeliveryJobList(); void updateFilteredDeliveryJobList(Predicate predicate); + void updateSortedDeliveryJobList(Comparator sorter); + ObservableList getSortedDeliveryJobList(); + + // NOTIFICATION ========================================= diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 7b318f82f53..e4fa13a78fe 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -4,9 +4,14 @@ import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; import java.nio.file.Path; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; import java.util.function.Predicate; import java.util.logging.Logger; +import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.collections.transformation.FilteredList; import seedu.address.commons.core.GuiSettings; @@ -26,11 +31,13 @@ public class ModelManager implements Model { private final UserPrefs userPrefs; private final FilteredList filteredPersons; private final FilteredList filteredDeliveryJobs; + private final List sortedDeliveryJobs; + private final ObservableList reminderList; + /** * Initializes a ModelManager with the given addressBook and userPrefs. - * * @param addressBook * @param deliveryJobSystem * @param userPrefs @@ -46,6 +53,7 @@ public ModelManager(ReadOnlyAddressBook addressBook, ReadOnlyDeliveryJobSystem d this.userPrefs = new UserPrefs(userPrefs); this.filteredPersons = new FilteredList<>(this.addressBook.getPersonList()); this.filteredDeliveryJobs = new FilteredList<>(this.deliveryJobSystem.getDeliveryJobList()); + this.sortedDeliveryJobs = new ArrayList(this.deliveryJobSystem.getDeliveryJobList()); this.reminderList = this.addressBook.getReminderList(); } @@ -193,6 +201,17 @@ public void updateFilteredDeliveryJobList(Predicate predicate) { requireAllNonNull(predicate); filteredDeliveryJobs.setPredicate(predicate); } + + @Override + public void updateSortedDeliveryJobList(Comparator sorter) { + Collections.sort(sortedDeliveryJobs, sorter); + } + + @Override + public ObservableList getSortedDeliveryJobList() { + return FXCollections.observableArrayList(sortedDeliveryJobs); + } + //=========== ReminderList Accessors ============================================================= @Override diff --git a/src/main/java/seedu/address/model/jobs/sorters/SortbyTime.java b/src/main/java/seedu/address/model/jobs/sorters/SortbyTime.java new file mode 100644 index 00000000000..4cb4fdd5849 --- /dev/null +++ b/src/main/java/seedu/address/model/jobs/sorters/SortbyTime.java @@ -0,0 +1,22 @@ +package seedu.address.model.jobs.sorters; + +import seedu.address.model.jobs.DeliveryJob; + +import java.util.Comparator; + +/** + * Helper class implementing Comparator + * Sort by job's scheduled timing + */ +public class SortbyTime implements Comparator { + + /** + * Method sort by time (increasing) + * @param a the first job to be compared. + * @param b the second job to be compared. + * @return difference between jobs' timing + */ + public int compare(DeliveryJob a, DeliveryJob b) { + return b.getDeliverSlot().compareTo(a.getDeliverSlot()); + } +} diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java index 719b84843d0..2edeee472af 100644 --- a/src/main/java/seedu/address/ui/MainWindow.java +++ b/src/main/java/seedu/address/ui/MainWindow.java @@ -236,6 +236,10 @@ private CommandResult executeCommand(String commandText) throws CommandException handleHelp(); } + if (commandResult.isShowTimetable()) { + handleTimetable(); + } + if (commandResult.isExit()) { handleExit(); } diff --git a/src/main/resources/images/timetable.png b/src/main/resources/images/timetable.png new file mode 100644 index 0000000000000000000000000000000000000000..0cb687a578fdde74c83cbfd01c85912f38fed7bb GIT binary patch literal 35464 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 WzE+?#fB*mh00000000000000$7zAGc literal 0 HcmV?d00001 diff --git a/src/main/resources/view/TimetableWindow.fxml b/src/main/resources/view/TimetableWindow.fxml index 015158d3fb0..571b9d1b842 100644 --- a/src/main/resources/view/TimetableWindow.fxml +++ b/src/main/resources/view/TimetableWindow.fxml @@ -11,9 +11,9 @@ - + - + diff --git a/src/test/java/seedu/address/logic/commands/HelpCommandTest.java b/src/test/java/seedu/address/logic/commands/HelpCommandTest.java index 4904fc4352e..0ebe401ceff 100644 --- a/src/test/java/seedu/address/logic/commands/HelpCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/HelpCommandTest.java @@ -14,7 +14,7 @@ public class HelpCommandTest { @Test public void execute_help_success() { - CommandResult expectedCommandResult = new CommandResult(SHOWING_HELP_MESSAGE, true, false); + CommandResult expectedCommandResult = new CommandResult(SHOWING_HELP_MESSAGE, true, false,false); assertCommandSuccess(new HelpCommand(), model, expectedCommandResult, expectedModel); } } From c52a90fd511c232c17c4da11d5035c34aa0a2eb2 Mon Sep 17 00:00:00 2001 From: dohaduong Date: Mon, 13 Mar 2023 21:47:49 +0800 Subject: [PATCH 102/470] Update according to Checkstyle and update AddressParserTest Import package is in incorrect order. AddressParserTest does not include timetable command. Update import to be in correct order helps to improve code quality. Update AddressParserTest makes sure our timetable command is running well. Let's * Update import order * Update AddressParserTest to include timetable command --- .../logic/commands/TimetableCommand.java | 17 +++++++---------- .../logic/parser/AddressBookParser.java | 18 ++++++++++++++---- .../address/model/jobs/sorters/SortbyTime.java | 4 ++-- .../address/logic/commands/AddCommandTest.java | 12 ++++++++++++ .../logic/commands/CommandResultTest.java | 16 +++++++++++----- .../logic/commands/ExitCommandTest.java | 2 +- .../logic/commands/HelpCommandTest.java | 2 +- .../logic/parser/AddressBookParserTest.java | 7 +++++++ 8 files changed, 55 insertions(+), 23 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/TimetableCommand.java b/src/main/java/seedu/address/logic/commands/TimetableCommand.java index 0c5dc2cbc25..2843b54b53a 100644 --- a/src/main/java/seedu/address/logic/commands/TimetableCommand.java +++ b/src/main/java/seedu/address/logic/commands/TimetableCommand.java @@ -1,17 +1,14 @@ package seedu.address.logic.commands; +import static java.util.Objects.requireNonNull; + import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.Model; -import seedu.address.model.ReadOnlyDeliveryJobSystem; -import seedu.address.model.jobs.DeliveryJob; -import seedu.address.model.jobs.UniqueDeliveryList; import seedu.address.model.jobs.sorters.SortbyTime; -import java.util.Comparator; -import java.util.function.Predicate; - -import static java.util.Objects.requireNonNull; - +/** + * Format full timetable instructions for every command for display. + */ public class TimetableCommand extends Command { public static final String COMMAND_WORD = "timetable"; @@ -22,13 +19,13 @@ public class TimetableCommand extends Command { public static final String SHOWING_TIMETABLE_MESSAGE = "Opened timetable window."; - public static final SortbyTime sorter = new SortbyTime(); + public static final SortbyTime SORTER = new SortbyTime(); @Override public CommandResult execute(Model model) throws CommandException { requireNonNull(model); - model.updateSortedDeliveryJobList(sorter); + model.updateSortedDeliveryJobList(SORTER); model.getSortedDeliveryJobList(); return new CommandResult(SHOWING_TIMETABLE_MESSAGE, false, true, false); diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index a6bb1c1666f..281559f1e79 100644 --- a/src/main/java/seedu/address/logic/parser/AddressBookParser.java +++ b/src/main/java/seedu/address/logic/parser/AddressBookParser.java @@ -6,7 +6,19 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; -import seedu.address.logic.commands.*; +import seedu.address.logic.commands.AddCommand; +import seedu.address.logic.commands.AddReminder; +import seedu.address.logic.commands.ClearCommand; +import seedu.address.logic.commands.Command; +import seedu.address.logic.commands.DeleteCommand; +import seedu.address.logic.commands.DeleteReminder; +import seedu.address.logic.commands.EditCommand; +import seedu.address.logic.commands.ExitCommand; +import seedu.address.logic.commands.FindCommand; +import seedu.address.logic.commands.HelpCommand; +import seedu.address.logic.commands.ListCommand; +import seedu.address.logic.commands.ListReminder; +import seedu.address.logic.commands.TimetableCommand; import seedu.address.logic.parser.exceptions.ParseException; /** @@ -29,9 +41,7 @@ public class AddressBookParser { public Command parseCommand(String userInput) throws ParseException { final Matcher matcher = BASIC_COMMAND_FORMAT.matcher(userInput.trim()); if (!matcher.matches()) { - throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, HelpCommand.MESSAGE_USAGE - + "\n" - + TimetableCommand.MESSAGE_USAGE)); + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, HelpCommand.MESSAGE_USAGE)); } final String commandWord = matcher.group("commandWord"); diff --git a/src/main/java/seedu/address/model/jobs/sorters/SortbyTime.java b/src/main/java/seedu/address/model/jobs/sorters/SortbyTime.java index 4cb4fdd5849..7f331642960 100644 --- a/src/main/java/seedu/address/model/jobs/sorters/SortbyTime.java +++ b/src/main/java/seedu/address/model/jobs/sorters/SortbyTime.java @@ -1,9 +1,9 @@ package seedu.address.model.jobs.sorters; -import seedu.address.model.jobs.DeliveryJob; - import java.util.Comparator; +import seedu.address.model.jobs.DeliveryJob; + /** * Helper class implementing Comparator * Sort by job's scheduled timing diff --git a/src/test/java/seedu/address/logic/commands/AddCommandTest.java b/src/test/java/seedu/address/logic/commands/AddCommandTest.java index cf96a4051af..7270e9cd195 100644 --- a/src/test/java/seedu/address/logic/commands/AddCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/AddCommandTest.java @@ -9,6 +9,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.Arrays; +import java.util.Comparator; import java.util.function.Predicate; import org.junit.jupiter.api.Test; @@ -161,6 +162,16 @@ public void updateFilteredDeliveryJobList(Predicate predicate) { throw new AssertionError("This method should not be called."); } + @Override + public void updateSortedDeliveryJobList(Comparator sorter) { + throw new AssertionError("This method should not be called."); + } + + @Override + public ObservableList getSortedDeliveryJobList() { + throw new AssertionError("This method should not be called."); + } + @Override public void setDeliveryJobSystem(ReadOnlyDeliveryJobSystem jobSystem) { // TODO Auto-generated method stub @@ -211,6 +222,7 @@ public void addReminder(Reminder reminder) { public ObservableList getReminderList() { throw new AssertionError("This method should not be called."); } + } /** diff --git a/src/test/java/seedu/address/logic/commands/CommandResultTest.java b/src/test/java/seedu/address/logic/commands/CommandResultTest.java index 4f3eb46e9ef..921b42bc182 100644 --- a/src/test/java/seedu/address/logic/commands/CommandResultTest.java +++ b/src/test/java/seedu/address/logic/commands/CommandResultTest.java @@ -14,7 +14,7 @@ public void equals() { // same values -> returns true assertTrue(commandResult.equals(new CommandResult("feedback"))); - assertTrue(commandResult.equals(new CommandResult("feedback", false, false))); + assertTrue(commandResult.equals(new CommandResult("feedback", false, false, false))); // same object -> returns true assertTrue(commandResult.equals(commandResult)); @@ -29,10 +29,13 @@ public void equals() { assertFalse(commandResult.equals(new CommandResult("different"))); // different showHelp value -> returns false - assertFalse(commandResult.equals(new CommandResult("feedback", true, false))); + assertFalse(commandResult.equals(new CommandResult("feedback", true, false, false))); + + // different showTimetable value -> returns false + assertFalse(commandResult.equals(new CommandResult("feedback", false, true, false))); // different exit value -> returns false - assertFalse(commandResult.equals(new CommandResult("feedback", false, true))); + assertFalse(commandResult.equals(new CommandResult("feedback", false, false, true))); } @Test @@ -46,9 +49,12 @@ public void hashcode() { assertNotEquals(commandResult.hashCode(), new CommandResult("different").hashCode()); // different showHelp value -> returns different hashcode - assertNotEquals(commandResult.hashCode(), new CommandResult("feedback", true, false).hashCode()); + assertNotEquals(commandResult.hashCode(), new CommandResult("feedback", true, false, false).hashCode()); + + // different showTimetable value -> returns different hashcode + assertNotEquals(commandResult.hashCode(), new CommandResult("feedback", false, true, false).hashCode()); // different exit value -> returns different hashcode - assertNotEquals(commandResult.hashCode(), new CommandResult("feedback", false, true).hashCode()); + assertNotEquals(commandResult.hashCode(), new CommandResult("feedback", false, false, true).hashCode()); } } diff --git a/src/test/java/seedu/address/logic/commands/ExitCommandTest.java b/src/test/java/seedu/address/logic/commands/ExitCommandTest.java index 9533c473875..f5854e5dfa3 100644 --- a/src/test/java/seedu/address/logic/commands/ExitCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ExitCommandTest.java @@ -14,7 +14,7 @@ public class ExitCommandTest { @Test public void execute_exit_success() { - CommandResult expectedCommandResult = new CommandResult(MESSAGE_EXIT_ACKNOWLEDGEMENT, false, true); + CommandResult expectedCommandResult = new CommandResult(MESSAGE_EXIT_ACKNOWLEDGEMENT, false, false, true); assertCommandSuccess(new ExitCommand(), model, expectedCommandResult, expectedModel); } } diff --git a/src/test/java/seedu/address/logic/commands/HelpCommandTest.java b/src/test/java/seedu/address/logic/commands/HelpCommandTest.java index 0ebe401ceff..3b35c387c4c 100644 --- a/src/test/java/seedu/address/logic/commands/HelpCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/HelpCommandTest.java @@ -14,7 +14,7 @@ public class HelpCommandTest { @Test public void execute_help_success() { - CommandResult expectedCommandResult = new CommandResult(SHOWING_HELP_MESSAGE, true, false,false); + CommandResult expectedCommandResult = new CommandResult(SHOWING_HELP_MESSAGE, true, false, false); assertCommandSuccess(new HelpCommand(), model, expectedCommandResult, expectedModel); } } diff --git a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java index d9659205b57..00756334a9f 100644 --- a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java +++ b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java @@ -22,6 +22,7 @@ import seedu.address.logic.commands.FindCommand; import seedu.address.logic.commands.HelpCommand; import seedu.address.logic.commands.ListCommand; +import seedu.address.logic.commands.TimetableCommand; import seedu.address.logic.parser.exceptions.ParseException; import seedu.address.model.person.NameContainsKeywordsPredicate; import seedu.address.model.person.Person; @@ -82,6 +83,12 @@ public void parseCommand_help() throws Exception { assertTrue(parser.parseCommand(HelpCommand.COMMAND_WORD + " 3") instanceof HelpCommand); } + @Test + public void parseCommand_timetable() throws Exception { + assertTrue(parser.parseCommand(TimetableCommand.COMMAND_WORD) instanceof TimetableCommand); + assertTrue(parser.parseCommand(TimetableCommand.COMMAND_WORD + " 3") instanceof TimetableCommand); + } + @Test public void parseCommand_list() throws Exception { assertTrue(parser.parseCommand(ListCommand.COMMAND_WORD) instanceof ListCommand); From fca1cc5878156e5220c8fda442c781cff735494b Mon Sep 17 00:00:00 2001 From: dohaduong Date: Tue, 14 Mar 2023 03:39:14 +0800 Subject: [PATCH 103/470] Update structure of timetable window Timetable window has same structure as Main Window (old version). Updating its structure will help users to view timetable more easily. Let's update structure and design of timetable window --- .../seedu/address/ui/TimetableWindow.java | 70 +++++++++++------- src/main/resources/images/timetable.png | Bin 35464 -> 0 bytes src/main/resources/view/TimetableWindow.fxml | 62 +++++++--------- 3 files changed, 69 insertions(+), 63 deletions(-) delete mode 100644 src/main/resources/images/timetable.png diff --git a/src/main/java/seedu/address/ui/TimetableWindow.java b/src/main/java/seedu/address/ui/TimetableWindow.java index 2f5b7fc8ca0..319e84f5c39 100644 --- a/src/main/java/seedu/address/ui/TimetableWindow.java +++ b/src/main/java/seedu/address/ui/TimetableWindow.java @@ -1,24 +1,25 @@ package seedu.address.ui; +import java.net.URL; +import java.util.ResourceBundle; import java.util.logging.Logger; import javafx.fxml.FXML; +import javafx.fxml.Initializable; +import javafx.scene.control.TreeItem; +import javafx.scene.control.TreeView; import javafx.scene.layout.StackPane; import javafx.stage.Stage; import seedu.address.commons.core.GuiSettings; import seedu.address.commons.core.LogsCenter; import seedu.address.logic.Logic; -import seedu.address.logic.commands.CommandResult; -import seedu.address.logic.commands.exceptions.CommandException; -import seedu.address.logic.parser.exceptions.ParseException; -import seedu.address.ui.main.CommandBox; import seedu.address.ui.main.ResultDisplay; import seedu.address.ui.main.StatusBarFooter; /** * Controller for a timetable page */ -public class TimetableWindow extends UiPart { +public class TimetableWindow extends UiPart implements Initializable { private static final String FXML = "TimetableWindow.fxml"; private final Logger logger = LogsCenter.getLogger(getClass()); @@ -26,8 +27,15 @@ public class TimetableWindow extends UiPart { private Logic logic; // Independent Ui parts residing in this Ui container - //private jobListPanel jobListPanel; private ResultDisplay resultDisplay; + + @FXML + private TreeView listOfMonthsPlaceholder; + + @FXML + private StackPane monthlyDeliveryJobListPanelPlaceholder; + + @FXML private StackPane commandBoxPlaceholder; @FXML @@ -51,6 +59,23 @@ public TimetableWindow(Stage primaryStage, Logic logic) { setWindowDefaultSize(logic.getGuiSettings()); } + @Override + public void initialize(URL arg0, ResourceBundle arg1) { + TreeItem year = new TreeItem(String.format("Year")); + + for (int i = 1; i < 13; i++) { + TreeItem month = new TreeItem(String.format("Month %d", i)); + TreeItem jobListInMonth = new TreeItem(); + month.getChildren().add(month); + year.getChildren().add(month); + } + + listOfMonthsPlaceholder.setShowRoot(false); + listOfMonthsPlaceholder.setRoot(year); + + + } + /** * Shows the help window. * @throws IllegalStateException @@ -70,7 +95,7 @@ public TimetableWindow(Stage primaryStage, Logic logic) { * */ public void show() { - logger.fine("Showing help page about the application."); + logger.fine("Showing timetable page of job list."); getRoot().show(); getRoot().centerOnScreen(); } @@ -100,8 +125,9 @@ public void focus() { * Fills up all the placeholders of this window. */ void fillInnerParts() { - //jobListPanel = new jobListPanel(logic.getFilteredjobList()); - //jobListPanelPlaceholder.getChildren().add(jobListPanel.getRoot()); + //MonthlyDeliveryJobListPanel monthPanel = new MonthlyDeliveryJobListPanel(); + //monthlyDeliveryJobListPanelPlaceholder.getChildren().add(monthPanel.getRoot()); + resultDisplay = new ResultDisplay(); resultDisplayPlaceholder.getChildren().add(resultDisplay.getRoot()); @@ -109,8 +135,8 @@ void fillInnerParts() { StatusBarFooter statusBarFooter = new StatusBarFooter(logic.getAddressBookFilePath()); statusbarPlaceholder.getChildren().add(statusBarFooter.getRoot()); - CommandBox commandBox = new CommandBox(this::executeCommand); - commandBoxPlaceholder.getChildren().add(commandBox.getRoot()); + // CommandBox commandBox = new CommandBox(this::executeCommand); + //commandBoxPlaceholder.getChildren().add(commandBox.getRoot()); } /** @@ -132,23 +158,11 @@ private void handleExit() { logic.setGuiSettings(guiSettings); primaryStage.hide(); } - /** - * Executes the command and returns the result. - * - * @see seedu.address.logic.Logic#execute(String) - */ - private CommandResult executeCommand(String commandText) throws CommandException, ParseException { - try { - CommandResult commandResult = logic.execute(commandText); - logger.info("Result: " + commandResult.getFeedbackToUser()); - resultDisplay.setFeedbackToUser(commandResult.getFeedbackToUser()); - - return commandResult; - } catch (CommandException | ParseException e) { - logger.info("Invalid command: " + commandText); - resultDisplay.setFeedbackToUser(e.getMessage()); - throw e; - } + + @FXML + private void selectItem() { + } + } diff --git a/src/main/resources/images/timetable.png b/src/main/resources/images/timetable.png deleted file mode 100644 index 0cb687a578fdde74c83cbfd01c85912f38fed7bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35464 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 WzE+?#fB*mh00000000000000$7zAGc diff --git a/src/main/resources/view/TimetableWindow.fxml b/src/main/resources/view/TimetableWindow.fxml index 571b9d1b842..e005c83af90 100644 --- a/src/main/resources/view/TimetableWindow.fxml +++ b/src/main/resources/view/TimetableWindow.fxml @@ -3,48 +3,40 @@ - - - + - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - + + + + + - - - + + + + + From 5eff5669588dba07fa209723a72c8b2f1e928fde Mon Sep 17 00:00:00 2001 From: c0j0s Date: Tue, 14 Mar 2023 17:47:07 +0800 Subject: [PATCH 104/470] Add sender to delivery job model --- src/main/java/seedu/address/MainApp.java | 1 - .../seedu/address/model/jobs/DeliveryJob.java | 17 ++++-- .../address/model/util/SampleDataUtil.java | 59 ++++++++----------- .../json/model/JsonAdaptedDeliveryJob.java | 7 ++- .../address/testutil/TypicalDeliveryJobs.java | 6 ++ 5 files changed, 49 insertions(+), 41 deletions(-) diff --git a/src/main/java/seedu/address/MainApp.java b/src/main/java/seedu/address/MainApp.java index e73893d35f6..9c42ff77dad 100644 --- a/src/main/java/seedu/address/MainApp.java +++ b/src/main/java/seedu/address/MainApp.java @@ -121,7 +121,6 @@ private Model initModelManager(Storage storage, ReadOnlyUserPrefs userPrefs) { initialDeliveryJobSystemData = new DeliveryJobSystem(); } - // return new ModelManager(initialAddressData, userPrefs); return new ModelManager(initialAddressData, initialDeliveryJobSystemData, userPrefs); } diff --git a/src/main/java/seedu/address/model/jobs/DeliveryJob.java b/src/main/java/seedu/address/model/jobs/DeliveryJob.java index a7d04770727..20a10016253 100644 --- a/src/main/java/seedu/address/model/jobs/DeliveryJob.java +++ b/src/main/java/seedu/address/model/jobs/DeliveryJob.java @@ -13,6 +13,7 @@ public class DeliveryJob { // Delivery informations private final Person recepient; + private final Person sender; // aka customer private final String deliverSlot; // TODO: Update data type when confirmed private final Earning earning; private final boolean isDelivered; @@ -21,12 +22,13 @@ public class DeliveryJob { * Constructs a job entity. * * @param recepient + * @param sender * @param deliverSlot * @param packages * @param earning */ - public DeliveryJob(Person recepient, String deliverSlot, String earning) { - this(UUID.randomUUID().toString(), recepient, deliverSlot, earning, false); + public DeliveryJob(Person recepient, Person sender, String deliverSlot, String earning) { + this(UUID.randomUUID().toString(), recepient, sender, deliverSlot, earning, false); } /** @@ -38,9 +40,11 @@ public DeliveryJob(Person recepient, String deliverSlot, String earning) { * @param packages * @param earning */ - public DeliveryJob(String jobId, Person recepient, String deliverSlot, String earning, boolean isDelivered) { + public DeliveryJob(String jobId, Person recepient, Person sender, String deliverSlot, String earning, + boolean isDelivered) { this.jobId = jobId; this.recepient = recepient; + this.sender = sender; this.deliverSlot = deliverSlot; this.earning = new Earning(earning); this.isDelivered = isDelivered; @@ -54,6 +58,10 @@ public Person getRecepient() { return recepient; } + public Person getSender() { + return sender; + } + public String getDeliverSlot() { return deliverSlot; } @@ -96,8 +104,7 @@ public String toString() { getRecepient(), getDeliverSlot(), getEarning(), - getDeliveredStatus()) - ); + getDeliveredStatus())); return builder.toString(); } diff --git a/src/main/java/seedu/address/model/util/SampleDataUtil.java b/src/main/java/seedu/address/model/util/SampleDataUtil.java index ec11e042fb2..d97ca786818 100644 --- a/src/main/java/seedu/address/model/util/SampleDataUtil.java +++ b/src/main/java/seedu/address/model/util/SampleDataUtil.java @@ -44,47 +44,38 @@ public static Person[] getSamplePersons() { } public static DeliveryJob[] getSampleDeliveryJob() { + Person[] persons = getSamplePersons(); return new DeliveryJob[] { new DeliveryJob( - new Person( - new Name("Alex Yeoh"), - new Phone("87438807"), - new Email("alexyeoh@example.com"), - new Address("Blk 30 Geylang Street 29, #06-40"), - getTagSet("friends")), - "dummy slot", - "0.0"), + persons[0], + persons[1], + "dummy slot", + "0.0"), new DeliveryJob( - new Person(new Name("Bernice Yu"), new Phone("99272758"), new Email("berniceyu@example.com"), - new Address("Blk 30 Lorong 3 Serangoon Gardens, #07-18"), - getTagSet("colleagues", "friends")), - "dummy slot", - "1.0"), + persons[1], + persons[2], + "dummy slot", + "1.0"), new DeliveryJob( - new Person(new Name("Charlotte Oliveiro"), new Phone("93210283"), - new Email("charlotte@example.com"), - new Address("Blk 11 Ang Mo Kio Street 74, #11-04"), - getTagSet("neighbours")), - "dummy slot", - "2.0"), + persons[2], + persons[3], + "dummy slot", + "2.0"), new DeliveryJob( - new Person(new Name("David Li"), new Phone("91031282"), new Email("lidavid@example.com"), - new Address("Blk 436 Serangoon Gardens Street 26, #16-43"), - getTagSet("family")), - "dummy slot", - "3.0"), + persons[3], + persons[4], + "dummy slot", + "3.0"), new DeliveryJob( - new Person(new Name("Irfan Ibrahim"), new Phone("92492021"), new Email("irfan@example.com"), - new Address("Blk 47 Tampines Street 20, #17-35"), - getTagSet("classmates")), - "dummy slot", - "4.0"), + persons[4], + persons[5], + "dummy slot", + "4.0"), new DeliveryJob( - new Person(new Name("Roy Balakrishnan"), new Phone("92624417"), new Email("royb@example.com"), - new Address("Blk 45 Aljunied Street 85, #11-31"), - getTagSet("colleagues")), - "dummy slot", - "5.0") + persons[5], + persons[0], + "dummy slot", + "5.0") }; } diff --git a/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryJob.java b/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryJob.java index 5297330b09e..ad83d5f1747 100644 --- a/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryJob.java +++ b/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryJob.java @@ -12,6 +12,7 @@ public class JsonAdaptedDeliveryJob extends JsonAdapted { private final String jobId; private final JsonAdaptedPerson recepient; + private final JsonAdaptedPerson sender; private final String slot; private final String earning; private final boolean isDelivered; @@ -21,18 +22,21 @@ public class JsonAdaptedDeliveryJob extends JsonAdapted { * * @param jobId * @param recepient + * @param sender * @param deliverySlot * @param earning */ public JsonAdaptedDeliveryJob( @JsonProperty("jobid") String jobId, @JsonProperty("recepient") JsonAdaptedPerson recepient, + @JsonProperty("sender") JsonAdaptedPerson sender, @JsonProperty("slot") String deliverySlot, @JsonProperty("earning") String earning, @JsonProperty("isDelivered") boolean isDelivered ) { this.jobId = jobId; this.recepient = recepient; + this.sender = sender; this.slot = deliverySlot; this.earning = earning; this.isDelivered = isDelivered; @@ -46,6 +50,7 @@ public JsonAdaptedDeliveryJob( public JsonAdaptedDeliveryJob(DeliveryJob source) { this.jobId = source.getJobId(); this.recepient = new JsonAdaptedPerson(source.getRecepient()); + this.sender = new JsonAdaptedPerson(source.getSender()); this.slot = source.getDeliverSlot(); this.earning = source.getEarning().value; this.isDelivered = source.getDeliveredStatus(); @@ -54,7 +59,7 @@ public JsonAdaptedDeliveryJob(DeliveryJob source) { @Override public DeliveryJob toModelType() throws IllegalValueException { // TODO: refine later - return new DeliveryJob(jobId, recepient.toModelType(), slot, earning, isDelivered); + return new DeliveryJob(jobId, recepient.toModelType(), sender.toModelType(), slot, earning, isDelivered); } } diff --git a/src/test/java/seedu/address/testutil/TypicalDeliveryJobs.java b/src/test/java/seedu/address/testutil/TypicalDeliveryJobs.java index 6e4e988f16b..463303c5fbb 100644 --- a/src/test/java/seedu/address/testutil/TypicalDeliveryJobs.java +++ b/src/test/java/seedu/address/testutil/TypicalDeliveryJobs.java @@ -14,27 +14,33 @@ public class TypicalDeliveryJobs { public static final DeliveryJob JOBA = new DeliveryJob( TypicalPersons.ALICE, + TypicalPersons.BOB, "dummy slot", "1.0"); public static final DeliveryJob JOBB = new DeliveryJob( TypicalPersons.BOB, + TypicalPersons.CARL, "dummy slot", "2.0"); public static final DeliveryJob JOBC = new DeliveryJob( TypicalPersons.CARL, + TypicalPersons.DANIEL, "dummy slot", "3.0"); public static final DeliveryJob JOBD = new DeliveryJob( TypicalPersons.DANIEL, + TypicalPersons.ELLE, "dummy slot", "4.0"); public static final DeliveryJob JOBE = new DeliveryJob( TypicalPersons.ELLE, + TypicalPersons.FIONA, "dummy slot", "5.0"); public static final DeliveryJob JOBF = new DeliveryJob( TypicalPersons.FIONA, + TypicalPersons.GEORGE, "dummy slot", "6.0"); From e6bca7520f500d69c07f98df20cbe872b0961c24 Mon Sep 17 00:00:00 2001 From: dohaduong Date: Tue, 14 Mar 2023 21:03:34 +0800 Subject: [PATCH 105/470] Update Timetable window Timetable window has the same structure as Main window. A different design would help users to tell which window they are at. Let's * Update the timetable window to exclude Help, Exit, Stats, Timetable and command function * Add toggle list to timetable window to view jobs by month --- .../seedu/address/ui/TimetableWindow.java | 105 ++++++++---------- .../view/MonthDeliveryJobListPanel.fxml | 21 ++++ src/main/resources/view/TimetableWindow.fxml | 14 +-- 3 files changed, 72 insertions(+), 68 deletions(-) create mode 100644 src/main/resources/view/MonthDeliveryJobListPanel.fxml diff --git a/src/main/java/seedu/address/ui/TimetableWindow.java b/src/main/java/seedu/address/ui/TimetableWindow.java index 319e84f5c39..eebeeeb7ea6 100644 --- a/src/main/java/seedu/address/ui/TimetableWindow.java +++ b/src/main/java/seedu/address/ui/TimetableWindow.java @@ -13,6 +13,10 @@ import seedu.address.commons.core.GuiSettings; import seedu.address.commons.core.LogsCenter; import seedu.address.logic.Logic; +import seedu.address.logic.commands.CommandResult; +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.logic.parser.exceptions.ParseException; +import seedu.address.ui.main.CommandBox; import seedu.address.ui.main.ResultDisplay; import seedu.address.ui.main.StatusBarFooter; @@ -27,24 +31,16 @@ public class TimetableWindow extends UiPart implements Initializable { private Logic logic; // Independent Ui parts residing in this Ui container + //private jobListPanel jobListPanel; private ResultDisplay resultDisplay; - - @FXML - private TreeView listOfMonthsPlaceholder; - - @FXML - private StackPane monthlyDeliveryJobListPanelPlaceholder; - - - @FXML - private StackPane commandBoxPlaceholder; @FXML private StackPane jobListPanelPlaceholder; @FXML - private StackPane resultDisplayPlaceholder; - @FXML private StackPane statusbarPlaceholder; + @FXML + private TreeView monthDeliveryJobListTreeView; + /** * Creates a {@code JobWindow} with the given {@code Stage} and {@code Logic}. */ @@ -59,43 +55,26 @@ public TimetableWindow(Stage primaryStage, Logic logic) { setWindowDefaultSize(logic.getGuiSettings()); } - @Override - public void initialize(URL arg0, ResourceBundle arg1) { - TreeItem year = new TreeItem(String.format("Year")); - - for (int i = 1; i < 13; i++) { - TreeItem month = new TreeItem(String.format("Month %d", i)); - TreeItem jobListInMonth = new TreeItem(); - month.getChildren().add(month); - year.getChildren().add(month); - } - - listOfMonthsPlaceholder.setShowRoot(false); - listOfMonthsPlaceholder.setRoot(year); - - - } - /** * Shows the help window. - * @throws IllegalStateException - *
      - *
    • - * if this method is called on a thread other than the JavaFX Application Thread. - *
    • - *
    • - * if this method is called during animation or layout processing. - *
    • - *
    • - * if this method is called on the primary stage. - *
    • - *
    • - * if {@code dialogStage} is already showing. - *
    • - *
    + * + * @throws IllegalStateException
      + *
    • + * if this method is called on a thread other than the JavaFX Application Thread. + *
    • + *
    • + * if this method is called during animation or layout processing. + *
    • + *
    • + * if this method is called on the primary stage. + *
    • + *
    • + * if {@code dialogStage} is already showing. + *
    • + *
    */ public void show() { - logger.fine("Showing timetable page of job list."); + logger.fine("Showing help page about the application."); getRoot().show(); getRoot().centerOnScreen(); } @@ -125,18 +104,17 @@ public void focus() { * Fills up all the placeholders of this window. */ void fillInnerParts() { - //MonthlyDeliveryJobListPanel monthPanel = new MonthlyDeliveryJobListPanel(); - //monthlyDeliveryJobListPanelPlaceholder.getChildren().add(monthPanel.getRoot()); - + //jobListPanel = new jobListPanel(logic.getFilteredjobList()); + //jobListPanelPlaceholder.getChildren().add(jobListPanel.getRoot()); - resultDisplay = new ResultDisplay(); - resultDisplayPlaceholder.getChildren().add(resultDisplay.getRoot()); + // resultDisplay = new ResultDisplay(); + // resultDisplayPlaceholder.getChildren().add(resultDisplay.getRoot()); StatusBarFooter statusBarFooter = new StatusBarFooter(logic.getAddressBookFilePath()); statusbarPlaceholder.getChildren().add(statusBarFooter.getRoot()); - // CommandBox commandBox = new CommandBox(this::executeCommand); - //commandBoxPlaceholder.getChildren().add(commandBox.getRoot()); + // CommandBox commandBox = new CommandBox(this::executeCommand); + // commandBoxPlaceholder.getChildren().add(commandBox.getRoot()); } /** @@ -151,6 +129,22 @@ private void setWindowDefaultSize(GuiSettings guiSettings) { } } + @Override + public void initialize(URL arg0, ResourceBundle arg1) { + TreeItem year = new TreeItem(String.format("Year")); + monthDeliveryJobListTreeView.setRoot(year); + + for (int i = 1; i < 13; i++) { + TreeItem month = new TreeItem(String.format("Month %d", i)); + // month.getChildren().add(month); + year.getChildren().add(month); + } + + monthDeliveryJobListTreeView.setShowRoot(false); + + } + + @FXML private void handleExit() { GuiSettings guiSettings = new GuiSettings(primaryStage.getWidth(), primaryStage.getHeight(), @@ -158,11 +152,4 @@ private void handleExit() { logic.setGuiSettings(guiSettings); primaryStage.hide(); } - - @FXML - private void selectItem() { - - } - } - diff --git a/src/main/resources/view/MonthDeliveryJobListPanel.fxml b/src/main/resources/view/MonthDeliveryJobListPanel.fxml new file mode 100644 index 00000000000..bfae714aaa2 --- /dev/null +++ b/src/main/resources/view/MonthDeliveryJobListPanel.fxml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    - +
    [RE2] Add reminders
    @@ -604,7 +604,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli
           Use case resumes from step 1.
     
    - +
    [RE4] List reminders
    diff --git a/docs/diagrams/NotificationSequenceDiagram.puml b/docs/diagrams/NotificationSequenceDiagram.puml
    index 938304de1d7..e9d95e446d2 100644
    --- a/docs/diagrams/NotificationSequenceDiagram.puml
    +++ b/docs/diagrams/NotificationSequenceDiagram.puml
    @@ -55,10 +55,4 @@ BackgroundScheduleTask -> NotificationManager : checkNextSchedule()
     
     end loop
     
    -
    -
    -
    -
    -
    -
    -@enduml
    \ No newline at end of file
    +@enduml
    diff --git a/docs/team/c0j0s.md b/docs/team/c0j0s.md
    index ad0814d4d65..d804f2f037f 100644
    --- a/docs/team/c0j0s.md
    +++ b/docs/team/c0j0s.md
    @@ -11,37 +11,37 @@ Given below are my contributions to the project.
     
     * **New Feature**: Added Delivery Job System Storage.
         * What is does: Handle saving and loading of delivery job list from data files.
    -    * Justification: This feature allow delivery job data to be saved in a seperate data file to avoid congesting the address book. 
    +    * Justification: This feature allow delivery job data to be saved in a separate data file to avoid congesting the address book.
         * Highlights: Largely inline with address book storage structure with modification to json adapted classes to fit our custom delivery job model.
         * Credits: Address book storage.
     
     * **New Feature**: Delivery Job List and Detail Pane in MainWindow.
         * What is does: Display a list of pending delivery jobs for user. Able to view the job detail when selected.
    -    * Justification: The user needs to see all the available jobs and its details. 
    +    * Justification: The user needs to see all the available jobs and its details.
         * Highlights: User can select to view the job detail by mouse or arrow keys.
         * Credits: MainWindow.
     
     * **New Feature**: List Delivery Job Command.
         * What is does: List all the available jobs.
    -    * Justification: Core function. 
    +    * Justification: Core function.
         * Highlights: .
         * Credits: ListCommand.
     
     * **New Feature**: Delete Delivery Job Command.
         * What is does: Delete a selected jobs.
    -    * Justification: Core function. 
    +    * Justification: Core function.
         * Highlights: User can select and delete a job using `del` key from the MainWindow.
         * Credits: DeleteCommand.
     
     * **New Feature**: Edit Delivery Job Command.
         * What is does: Edit a selected jobs.
    -    * Justification: Core function. 
    +    * Justification: Core function.
         * Highlights: Able to select jobs using list index or job id.
         * Credits: EditCommand.
     
     * **New Feature**: Find Delivery Job Command.
         * What is does: Find a selected jobs.
    -    * Justification: Core function. 
    +    * Justification: Core function.
         * Highlights: All attributes of `DeliveryJob` can be use as a command option for searching.
         * Credits: FindCommand.
     
    diff --git a/docs/team/chinjunan.md b/docs/team/chinjunan.md
    index d97ee324b3d..9a568b8cd53 100644
    --- a/docs/team/chinjunan.md
    +++ b/docs/team/chinjunan.md
    @@ -38,4 +38,3 @@ Given below are my contributions to the project.
     
     * **Community**:
       * PRs reviewed (with non-trival review comments): #84
    -  * 
    
    From d19fb4c9fa509203dd720851276d8bfb757384bb Mon Sep 17 00:00:00 2001
    From: ChinJunAn 
    Date: Tue, 28 Mar 2023 12:20:47 +0800
    Subject: [PATCH 202/470] WIP. Adjust timings to check for current or upcoming
     schedules
    
    ---
     src/main/java/seedu/address/ui/UiManager.java                 | 4 +++-
     .../ui/notification/BackgroundNotificationScheduler.java      | 3 +--
     .../seedu/address/ui/notification/NotificationManager.java    | 3 +++
     3 files changed, 7 insertions(+), 3 deletions(-)
    
    diff --git a/src/main/java/seedu/address/ui/UiManager.java b/src/main/java/seedu/address/ui/UiManager.java
    index 9f7dbae28fb..e37fa2bb896 100644
    --- a/src/main/java/seedu/address/ui/UiManager.java
    +++ b/src/main/java/seedu/address/ui/UiManager.java
    @@ -50,10 +50,12 @@ public void start(Stage primaryStage) {
                 NotificationManager notificationManager = new NotificationManager(logic);
                 notificationManager.checkReminderList();
                 /*
    -            if (Calendar.getInstance().get(Calendar.MINUTE) < 40) { //once setting is in place, take from there
    +            Calendar now = Calendar.getInstance();
    +            if (now.get(Calendar.HOUR) >= 10 && now.get(Calendar.HOUR) < 16 && now.get(Calendar.MINUTE) < 40) {
                     notificationManager.checkNowSchedule();
                 } else {
                     notificationManager.checkNextSchedule();
    +            }
                 */
                 new BackgroundNotificationScheduler(notificationManager).run();
     
    diff --git a/src/main/java/seedu/address/ui/notification/BackgroundNotificationScheduler.java b/src/main/java/seedu/address/ui/notification/BackgroundNotificationScheduler.java
    index 1ef6e68253e..dc969843d6f 100644
    --- a/src/main/java/seedu/address/ui/notification/BackgroundNotificationScheduler.java
    +++ b/src/main/java/seedu/address/ui/notification/BackgroundNotificationScheduler.java
    @@ -19,8 +19,7 @@ public BackgroundNotificationScheduler(NotificationManager notificationManager)
     
         /**
          * Create a scheduled task with {@code Timer}.
    -     * A {@code BackgroundReminderTask} is scheduled from the closet upcoming hour, and
    -     * every subsequent hour
    +     * A {@code BackgroundReminderTask} is scheduled to check every minute
          */
         public void backgroundReminder() {
             Calendar now = Calendar.getInstance();
    diff --git a/src/main/java/seedu/address/ui/notification/NotificationManager.java b/src/main/java/seedu/address/ui/notification/NotificationManager.java
    index 75f80a9b953..18ad4e0cc13 100644
    --- a/src/main/java/seedu/address/ui/notification/NotificationManager.java
    +++ b/src/main/java/seedu/address/ui/notification/NotificationManager.java
    @@ -130,6 +130,9 @@ public void checkNextSchedule() {
             case 14:
                 jobList = deliveryList.get(4);
                 break;
    +        default:
    +            //nothing scheduled at the moment
    +            jobList = null;
             }
             if (jobList != null) {
                 for (DeliveryJob d: jobList) {
    
    From 83748d47c481539c7568cbd5fcaba91d8c6d8e0a Mon Sep 17 00:00:00 2001
    From: ChinJunAn 
    Date: Tue, 28 Mar 2023 15:18:33 +0800
    Subject: [PATCH 203/470] Notification function for ongoing and upcoming jobs
     scheduled in the timetable.
    
    This inclusion would allow the user to keep up with their schedule.
    ---
     src/main/java/seedu/address/ui/UiManager.java |  7 +--
     .../BackgroundNotificationScheduler.java      | 11 ++---
     .../notification/BackgroundReminderTask.java  |  1 -
     .../notification/BackgroundScheduleTask.java  |  1 -
     .../ui/notification/NotificationManager.java  | 46 ++++++++++++++-----
     5 files changed, 43 insertions(+), 23 deletions(-)
    
    diff --git a/src/main/java/seedu/address/ui/UiManager.java b/src/main/java/seedu/address/ui/UiManager.java
    index e37fa2bb896..06b73f76dda 100644
    --- a/src/main/java/seedu/address/ui/UiManager.java
    +++ b/src/main/java/seedu/address/ui/UiManager.java
    @@ -49,14 +49,15 @@ public void start(Stage primaryStage) {
     
                 NotificationManager notificationManager = new NotificationManager(logic);
                 notificationManager.checkReminderList();
    -            /*
    +
                 Calendar now = Calendar.getInstance();
    -            if (now.get(Calendar.HOUR) >= 10 && now.get(Calendar.HOUR) < 16 && now.get(Calendar.MINUTE) < 40) {
    +            if (now.get(Calendar.HOUR_OF_DAY) >= 10 && now.get(Calendar.HOUR_OF_DAY) < 16
    +                    && now.get(Calendar.MINUTE) < 40) {
                     notificationManager.checkNowSchedule();
                 } else {
                     notificationManager.checkNextSchedule();
                 }
    -            */
    +
                 new BackgroundNotificationScheduler(notificationManager).run();
     
             } catch (Throwable e) {
    diff --git a/src/main/java/seedu/address/ui/notification/BackgroundNotificationScheduler.java b/src/main/java/seedu/address/ui/notification/BackgroundNotificationScheduler.java
    index dc969843d6f..11a7211a3fe 100644
    --- a/src/main/java/seedu/address/ui/notification/BackgroundNotificationScheduler.java
    +++ b/src/main/java/seedu/address/ui/notification/BackgroundNotificationScheduler.java
    @@ -27,7 +27,6 @@ public void backgroundReminder() {
             now.set(Calendar.SECOND, 0);
     
             new Timer().schedule(new BackgroundReminderTask(notificationManager), now.getTime(), 1000 * 60);
    -        //new Timer().schedule(new BackgroundReminderTask(notificationManager), now.getTime(), 1000*5);
         }
     
         /**
    @@ -37,13 +36,13 @@ public void backgroundReminder() {
          */
         public void backgroundSchedule() {
             Calendar now = Calendar.getInstance();
    +        if (now.get(Calendar.MINUTE) >= 40) {
    +            now.add(Calendar.HOUR_OF_DAY, 1);
    +        }
             now.set(Calendar.MINUTE, 40);
             now.set(Calendar.SECOND, 0);
    -        if (now.get(Calendar.MINUTE) > 40) {
    -            now.add(Calendar.HOUR, 1);
    -        }
    +
             new Timer().schedule(new BackgroundScheduleTask(notificationManager), now.getTime(), 1000 * 60 * 60);
    -        //new Timer().schedule(new BackgroundScheduleTask(notificationManager), now.getTime(), 1000*5);
         }
     
         /**
    @@ -53,7 +52,7 @@ public void backgroundSchedule() {
          */
         public void run() {
             backgroundReminder();
    -        //backgroundSchedule();
    +        backgroundSchedule();
         }
     
     }
    diff --git a/src/main/java/seedu/address/ui/notification/BackgroundReminderTask.java b/src/main/java/seedu/address/ui/notification/BackgroundReminderTask.java
    index 4afd833e10b..89b8f1f31d3 100644
    --- a/src/main/java/seedu/address/ui/notification/BackgroundReminderTask.java
    +++ b/src/main/java/seedu/address/ui/notification/BackgroundReminderTask.java
    @@ -30,6 +30,5 @@ public void run() {
                     notificationManager.checkReminderList();
                 }
             });
    -
         }
     }
    diff --git a/src/main/java/seedu/address/ui/notification/BackgroundScheduleTask.java b/src/main/java/seedu/address/ui/notification/BackgroundScheduleTask.java
    index 00d0bce27d7..266d2b6a0fa 100644
    --- a/src/main/java/seedu/address/ui/notification/BackgroundScheduleTask.java
    +++ b/src/main/java/seedu/address/ui/notification/BackgroundScheduleTask.java
    @@ -30,6 +30,5 @@ public void run() {
                     notificationManager.checkNextSchedule();
                 }
             });
    -
         }
     }
    diff --git a/src/main/java/seedu/address/ui/notification/NotificationManager.java b/src/main/java/seedu/address/ui/notification/NotificationManager.java
    index 18ad4e0cc13..1a09bd69381 100644
    --- a/src/main/java/seedu/address/ui/notification/NotificationManager.java
    +++ b/src/main/java/seedu/address/ui/notification/NotificationManager.java
    @@ -7,12 +7,14 @@
     
     import org.controlsfx.control.Notifications;
     
    +import javafx.application.Platform;
     import javafx.geometry.Pos;
     import javafx.util.Duration;
     import seedu.address.logic.Logic;
     import seedu.address.model.Model;
     import seedu.address.model.jobs.DeliveryJob;
     import seedu.address.model.jobs.DeliveryList;
    +import seedu.address.model.jobs.sorters.SortbyTime;
     import seedu.address.model.reminder.Reminder;
     
     /**
    @@ -70,17 +72,34 @@ public void checkReminderList() {
                         String des = (i + 1) + ". " + r.getDescription();
                         String remind = "Remind at: " + r.reminderDateTimeToString();
                         this.model.setHasShown(i, true);
    -                    show(des, remind, Pos.TOP_RIGHT);
    +                    Platform.runLater(new Runnable() {
    +                        @Override
    +                        public void run() {
    +                            show(des, remind, Pos.TOP_RIGHT);
    +                        }
    +                    });
                     }
                 }
             }
         }
     
    +    private DeliveryList getDeliveryList() {
    +        this.model.updateFocusDate(LocalDate.now());
    +        this.model.updateSortedDeliveryJobList(new SortbyTime());
    +        this.model.updateSortedDeliveryJobListByDate();
    +        this.model.updateWeekDeliveryJobList(LocalDate.now());
    +        return this.model.getSortedDeliveryJobListByDate().get(LocalDate.now());
    +    }
    +
    +    /**
    +     * Method to check the current schedule in the timetable for any ongoing jobs. Creates a notification should a job
    +     * exists.
    +     */
         public void checkNowSchedule() {
    -        DeliveryList deliveryList = this.model.getSortedDeliveryJobListByDate().get(LocalDate.now());
    -        List jobList = null;
    +        DeliveryList deliveryList = getDeliveryList();
    +        List jobList;
             Calendar now = Calendar.getInstance();
    -        int hour = now.get(Calendar.HOUR);
    +        int hour = now.get(Calendar.HOUR_OF_DAY);
             switch (hour) {
             case 10:
                 jobList = deliveryList.get(0);
    @@ -109,14 +128,15 @@ public void checkNowSchedule() {
             }
         }
     
    +    /**
    +     * Method to check if there are any upcoming jobs in the next scheduled slot in the timetable. Creates a
    +     * notification should an upcoming job exists.
    +     */
         public void checkNextSchedule() {
    -        DeliveryList deliveryList = this.model.getSortedDeliveryJobListByDate().get(LocalDate.now());
    -        List jobList = null;
    +        DeliveryList deliveryList = getDeliveryList();
    +        List jobList;
             Calendar now = Calendar.getInstance();
    -        int hour = now.get(Calendar.HOUR);
    -        if (hour < 10) {
    -            jobList = deliveryList.get(0);
    -        }
    +        int hour = now.get(Calendar.HOUR_OF_DAY);
             switch (hour) {
             case 10:
                 jobList = deliveryList.get(1);
    @@ -134,7 +154,11 @@ public void checkNextSchedule() {
                 //nothing scheduled at the moment
                 jobList = null;
             }
    +        if (hour < 10) {
    +            jobList = deliveryList.get(0);
    +        }
             if (jobList != null) {
    +            System.out.println(jobList.size());
                 for (DeliveryJob d: jobList) {
                     String des = d.toString();
                     show("Upcoming Job(s)!", des, Pos.TOP_LEFT);
    @@ -156,6 +180,4 @@ public void show(String title, String text, Pos pos) {
                     .position(pos);
             notificationBuilder.showConfirm();
         }
    -
    -
     }
    
    From 6c182be194f209e3c80aa0740c40a6ab681e79f7 Mon Sep 17 00:00:00 2001
    From: dohaduong 
    Date: Tue, 28 Mar 2023 15:27:36 +0800
    Subject: [PATCH 204/470] Fix repeating job bug in job list in timetable window
     Job list in timetable window does not clear itself before each update and
     reload, thus jobs keep repeating themselves.
    
    Clearing job list before updating and reloading itself will ensure no job is repeated.
    
    Let's update job list to clear itself before each reload.
    ---
     src/main/java/seedu/address/MainApp.java      |  6 +-
     src/main/java/seedu/address/logic/Logic.java  | 15 ++-
     .../seedu/address/logic/LogicManager.java     | 11 +--
     .../address/logic/commands/CommandResult.java | 35 ++++++-
     .../{ => timetable}/TimetableCommand.java     |  4 +-
     .../{ => timetable}/TimetableDateCommand.java |  4 +-
     .../timetable/TimetableUnscheduleCommand.java | 28 ++++++
     .../logic/parser/DukeDriverParser.java        |  8 +-
     .../timetable/TimetableDateCommandParser.java |  2 +-
     .../parser/timetable/TimetableParser.java     |  6 +-
     src/main/java/seedu/address/model/Model.java  | 79 +++++++++++++++
     .../seedu/address/model/ModelManager.java     |  7 ++
     .../java/seedu/address/ui/MainWindow.java     | 26 ++++-
     .../seedu/address/ui/TimetableWindow.java     | 24 ++---
     .../address/ui/jobs/DayDeliveryJobCard.java   | 40 ++++----
     .../address/ui/jobs/DayJobListPanel.java      | 13 ++-
     .../address/ui/person/AddressBookWindow.java  |  2 +-
     .../{ => timetable}/TimetableDetailPanel.java |  6 +-
     .../ui/timetable/UnscheduleWindow.java        | 95 +++++++++++++++++++
     .../ui/timetable/WeekJobListPanel.java        |  2 +-
     src/main/resources/view/MainWindow.fxml       |  1 +
     src/main/resources/view/UnscheduleWindow.fxml | 49 ++++++++++
     .../logic/commands/AddCommandTest.java        |  5 +
     .../logic/parser/AddressBookParserTest.java   |  2 +-
     24 files changed, 397 insertions(+), 73 deletions(-)
     rename src/main/java/seedu/address/logic/commands/{ => timetable}/TimetableCommand.java (89%)
     rename src/main/java/seedu/address/logic/commands/{ => timetable}/TimetableDateCommand.java (92%)
     create mode 100644 src/main/java/seedu/address/logic/commands/timetable/TimetableUnscheduleCommand.java
     rename src/main/java/seedu/address/ui/{ => timetable}/TimetableDetailPanel.java (92%)
     create mode 100644 src/main/java/seedu/address/ui/timetable/UnscheduleWindow.java
     create mode 100644 src/main/resources/view/UnscheduleWindow.fxml
    
    diff --git a/src/main/java/seedu/address/MainApp.java b/src/main/java/seedu/address/MainApp.java
    index 06881bfd666..3a57cbefaaf 100644
    --- a/src/main/java/seedu/address/MainApp.java
    +++ b/src/main/java/seedu/address/MainApp.java
    @@ -53,7 +53,7 @@ public class MainApp extends Application {
     
         @Override
         public void init() throws Exception {
    -        logger.info("=============================[ Initializing AddressBook ]===========================");
    +        logger.info("=============================[ Initializing DukeDriver ]===========================");
             super.init();
     
             AppParameters appParameters = AppParameters.parse(getParameters());
    @@ -202,13 +202,13 @@ protected UserPrefs initPrefs(UserPrefsStorage storage) {
     
         @Override
         public void start(Stage primaryStage) {
    -        logger.info("Starting AddressBook " + MainApp.VERSION);
    +        logger.info("Starting DukeDriver " + MainApp.VERSION);
             ui.start(primaryStage);
         }
     
         @Override
         public void stop() {
    -        logger.info("============================ [ Stopping Address Book ] =============================");
    +        logger.info("============================ [ Stopping DukeDriver ] =============================");
             try {
                 storage.saveUserPrefs(model.getUserPrefs());
             } catch (IOException e) {
    diff --git a/src/main/java/seedu/address/logic/Logic.java b/src/main/java/seedu/address/logic/Logic.java
    index 968a3395cff..55d1555db20 100644
    --- a/src/main/java/seedu/address/logic/Logic.java
    +++ b/src/main/java/seedu/address/logic/Logic.java
    @@ -69,7 +69,17 @@ public interface Logic {
          */
         Map getWeekDeliveryJobList();
     
    +    /**
    +     * Returns job on specific day of week
    +     * @param dayOfWeek day of week
    +     * @return job list in the specific day
    +     */
         DeliveryList getDayofWeekJob(int dayOfWeek);
    +    /**
    +     * Returns an unmodifiable view of the list of unscheduled delivery jobs
    +     */
    +    ObservableList getUnscheduledDeliveryJobList();
    +
     
         /**
          * Returns the user prefs' address book file path.
    @@ -102,11 +112,6 @@ public interface Logic {
          */
         void updateSortedDeliveryJobListByDate();
     
    -    /**
    -     * Updates week delivery job list to the week that contains focus date
    -     */
    -    void updateWeekDeliveryJobList(LocalDate focusDate);
    -
         /**
          * Gets user input focus date
          * @return focus date
    diff --git a/src/main/java/seedu/address/logic/LogicManager.java b/src/main/java/seedu/address/logic/LogicManager.java
    index 1ef2a8d70bd..7258e275893 100644
    --- a/src/main/java/seedu/address/logic/LogicManager.java
    +++ b/src/main/java/seedu/address/logic/LogicManager.java
    @@ -111,6 +111,10 @@ public DeliveryList getDayofWeekJob(int dayOfWeek) {
             return model.getDayOfWeekJob(dayOfWeek);
         }
     
    +    @Override
    +    public ObservableList getUnscheduledDeliveryJobList() {
    +        return model.getUnscheduledDeliveryJobList();
    +    }
     
         @Override
         public ObservableList getReminderList() {
    @@ -147,13 +151,6 @@ public void updateSortedDeliveryJobListByDate() {
             model.updateSortedDeliveryJobListByDate();
         };
     
    -    @Override
    -    public void updateWeekDeliveryJobList(LocalDate focusDate) {
    -        logger.info("----------------[Update focus date to " + focusDate.toString() + "]");
    -        model.updateWeekDeliveryJobList(focusDate);
    -    };
    -
    -
         @Override
         public LocalDate getFocusDate() {
             return model.getFocusDate();
    diff --git a/src/main/java/seedu/address/logic/commands/CommandResult.java b/src/main/java/seedu/address/logic/commands/CommandResult.java
    index a0341c74898..7fe3c615872 100644
    --- a/src/main/java/seedu/address/logic/commands/CommandResult.java
    +++ b/src/main/java/seedu/address/logic/commands/CommandResult.java
    @@ -21,6 +21,11 @@ public class CommandResult {
          */
         private final boolean showTimetable;
     
    +    /**
    +     * List of unscheduled jobs should be shown to user.
    +     */
    +    private final boolean showUnschedule;
    +
         /**
          * Statistics information should be shown to the user.
          */
    @@ -40,11 +45,35 @@ public class CommandResult {
          * Constructs a {@code CommandResult} with the specified fields.
          */
     
    -    public CommandResult(String feedbackToUser, boolean showHelp, boolean showTimetable, boolean showReminderList,
    +    public CommandResult(String feedbackToUser, boolean showHelp, boolean showTimetable,
    +                         boolean showUnschedule, boolean showReminderList,
    +                         boolean showStatistics, boolean exit) {
    +        this.feedbackToUser = requireNonNull(feedbackToUser);
    +        this.showHelp = showHelp;
    +        this.showTimetable = showTimetable;
    +        this.showUnschedule = showUnschedule;
    +        this.showReminderList = showReminderList;
    +        this.showStatistics = showStatistics;
    +        this.exit = exit;
    +    }
    +
    +    /**
    +     * Simplified constructor for CommandResult
    +     * which does not show Unscheduled job window
    +     * @param feedbackToUser
    +     * @param showHelp
    +     * @param showTimetable
    +     * @param showReminderList
    +     * @param showStatistics
    +     * @param exit
    +     */
    +    public CommandResult(String feedbackToUser, boolean showHelp, boolean showTimetable,
    +                         boolean showReminderList,
                              boolean showStatistics, boolean exit) {
             this.feedbackToUser = requireNonNull(feedbackToUser);
             this.showHelp = showHelp;
             this.showTimetable = showTimetable;
    +        this.showUnschedule = false;
             this.showReminderList = showReminderList;
             this.showStatistics = showStatistics;
             this.exit = exit;
    @@ -70,6 +99,10 @@ public boolean isShowTimetable() {
             return showTimetable;
         }
     
    +    public boolean isShowUnschedule() {
    +        return showUnschedule;
    +    }
    +
     
         public boolean isShowStatistics() {
             return showStatistics;
    diff --git a/src/main/java/seedu/address/logic/commands/TimetableCommand.java b/src/main/java/seedu/address/logic/commands/timetable/TimetableCommand.java
    similarity index 89%
    rename from src/main/java/seedu/address/logic/commands/TimetableCommand.java
    rename to src/main/java/seedu/address/logic/commands/timetable/TimetableCommand.java
    index 7b088a338eb..6dd97e96e53 100644
    --- a/src/main/java/seedu/address/logic/commands/TimetableCommand.java
    +++ b/src/main/java/seedu/address/logic/commands/timetable/TimetableCommand.java
    @@ -1,9 +1,11 @@
    -package seedu.address.logic.commands;
    +package seedu.address.logic.commands.timetable;
     
     import static java.util.Objects.requireNonNull;
     
     import java.time.LocalDate;
     
    +import seedu.address.logic.commands.Command;
    +import seedu.address.logic.commands.CommandResult;
     import seedu.address.logic.commands.exceptions.CommandException;
     import seedu.address.model.Model;
     import seedu.address.model.jobs.sorters.SortbyTime;
    diff --git a/src/main/java/seedu/address/logic/commands/TimetableDateCommand.java b/src/main/java/seedu/address/logic/commands/timetable/TimetableDateCommand.java
    similarity index 92%
    rename from src/main/java/seedu/address/logic/commands/TimetableDateCommand.java
    rename to src/main/java/seedu/address/logic/commands/timetable/TimetableDateCommand.java
    index 94574b7b18a..e45c38585ae 100644
    --- a/src/main/java/seedu/address/logic/commands/TimetableDateCommand.java
    +++ b/src/main/java/seedu/address/logic/commands/timetable/TimetableDateCommand.java
    @@ -1,10 +1,12 @@
    -package seedu.address.logic.commands;
    +package seedu.address.logic.commands.timetable;
     
     import static java.util.Objects.requireNonNull;
     import static seedu.address.logic.parser.CliSyntax.PREFIX_DATE;
     
     import java.time.LocalDate;
     
    +import seedu.address.logic.commands.Command;
    +import seedu.address.logic.commands.CommandResult;
     import seedu.address.logic.commands.exceptions.CommandException;
     import seedu.address.model.Model;
     import seedu.address.model.jobs.sorters.SortbyTime;
    diff --git a/src/main/java/seedu/address/logic/commands/timetable/TimetableUnscheduleCommand.java b/src/main/java/seedu/address/logic/commands/timetable/TimetableUnscheduleCommand.java
    new file mode 100644
    index 00000000000..f904c0a9138
    --- /dev/null
    +++ b/src/main/java/seedu/address/logic/commands/timetable/TimetableUnscheduleCommand.java
    @@ -0,0 +1,28 @@
    +package seedu.address.logic.commands.timetable;
    +
    +import static java.util.Objects.requireNonNull;
    +
    +import seedu.address.logic.commands.Command;
    +import seedu.address.logic.commands.CommandResult;
    +import seedu.address.logic.commands.exceptions.CommandException;
    +import seedu.address.model.Model;
    +
    +/**
    + * Finds and lists unscheduled jobs - those with invalid slot/date
    + */
    +public class TimetableUnscheduleCommand extends Command {
    +    public static final String COMMAND_WORD = "timetable_unschedule";
    +
    +    public static final String MESSAGE_USAGE = COMMAND_WORD
    +            + ": Lists unscheduled jobs with invalid slot/date";
    +    public static final String MESSAGE_SUCCESS = "Listed all unscheduled jobs with invalid slot/date";
    +
    +    @Override
    +    public CommandResult execute(Model model) throws CommandException {
    +        requireNonNull(model);
    +
    +
    +        return new CommandResult(MESSAGE_SUCCESS, false, false, true, false, false, false);
    +    }
    +
    +}
    diff --git a/src/main/java/seedu/address/logic/parser/DukeDriverParser.java b/src/main/java/seedu/address/logic/parser/DukeDriverParser.java
    index 446ec1641a0..fde64c03274 100644
    --- a/src/main/java/seedu/address/logic/parser/DukeDriverParser.java
    +++ b/src/main/java/seedu/address/logic/parser/DukeDriverParser.java
    @@ -11,8 +11,6 @@
     import seedu.address.logic.commands.ExitCommand;
     import seedu.address.logic.commands.HelpCommand;
     import seedu.address.logic.commands.StatisticsCommand;
    -import seedu.address.logic.commands.TimetableCommand;
    -import seedu.address.logic.commands.TimetableDateCommand;
     import seedu.address.logic.commands.jobs.AddDeliveryJobCommand;
     import seedu.address.logic.commands.jobs.CompleteDeliveryJobCommand;
     import seedu.address.logic.commands.jobs.DeleteDeliveryJobCommand;
    @@ -27,6 +25,9 @@
     import seedu.address.logic.commands.reminder.AddReminderCommand;
     import seedu.address.logic.commands.reminder.DeleteReminderCommand;
     import seedu.address.logic.commands.reminder.ListReminderCommand;
    +import seedu.address.logic.commands.timetable.TimetableCommand;
    +import seedu.address.logic.commands.timetable.TimetableDateCommand;
    +import seedu.address.logic.commands.timetable.TimetableUnscheduleCommand;
     import seedu.address.logic.parser.exceptions.ParseException;
     import seedu.address.logic.parser.jobs.AddDeliveryJobCommandParser;
     import seedu.address.logic.parser.jobs.CompleteDeliveryJobCommandParser;
    @@ -107,6 +108,9 @@ public Command parseCommand(String userInput) throws ParseException {
             case TimetableDateCommand.COMMAND_WORD:
                 return new TimetableDateCommandParser().parse(arguments);
     
    +        case TimetableUnscheduleCommand.COMMAND_WORD:
    +            return new TimetableUnscheduleCommand();
    +
             case ListDeliveryJobCommand.COMMAND_WORD:
                 return new ListDeliveryJobCommand();
     
    diff --git a/src/main/java/seedu/address/logic/parser/timetable/TimetableDateCommandParser.java b/src/main/java/seedu/address/logic/parser/timetable/TimetableDateCommandParser.java
    index 72bfb70e236..5b69d675694 100644
    --- a/src/main/java/seedu/address/logic/parser/timetable/TimetableDateCommandParser.java
    +++ b/src/main/java/seedu/address/logic/parser/timetable/TimetableDateCommandParser.java
    @@ -6,7 +6,7 @@
     import java.time.LocalDate;
     import java.util.stream.Stream;
     
    -import seedu.address.logic.commands.TimetableDateCommand;
    +import seedu.address.logic.commands.timetable.TimetableDateCommand;
     import seedu.address.logic.parser.ArgumentMultimap;
     import seedu.address.logic.parser.ArgumentTokenizer;
     import seedu.address.logic.parser.Parser;
    diff --git a/src/main/java/seedu/address/logic/parser/timetable/TimetableParser.java b/src/main/java/seedu/address/logic/parser/timetable/TimetableParser.java
    index b978d110e9e..859997426be 100644
    --- a/src/main/java/seedu/address/logic/parser/timetable/TimetableParser.java
    +++ b/src/main/java/seedu/address/logic/parser/timetable/TimetableParser.java
    @@ -8,7 +8,8 @@
     
     import seedu.address.logic.commands.Command;
     import seedu.address.logic.commands.HelpCommand;
    -import seedu.address.logic.commands.TimetableDateCommand;
    +import seedu.address.logic.commands.timetable.TimetableDateCommand;
    +import seedu.address.logic.commands.timetable.TimetableUnscheduleCommand;
     import seedu.address.logic.parser.exceptions.ParseException;
     
     /**
    @@ -40,6 +41,9 @@ public Command parseCommand(String userInput) throws ParseException {
             case TimetableDateCommand.COMMAND_WORD:
                 return new TimetableDateCommandParser().parse(arguments);
     
    +        case TimetableUnscheduleCommand.COMMAND_WORD:
    +            return new TimetableUnscheduleCommand();
    +
             default:
                 throw new ParseException(MESSAGE_UNKNOWN_TIMETABLE_COMMAND);
             }
    diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java
    index 1d3caa155e9..6953405eb1d 100644
    --- a/src/main/java/seedu/address/model/Model.java
    +++ b/src/main/java/seedu/address/model/Model.java
    @@ -112,31 +112,110 @@ public interface Model {
          */
         void setDeliveryJobSystemFilePath(Path deliveryJobSystemFilePath);
     
    +    /**
    +     * Sets delivery job system
    +     * @param jobSystem
    +     */
         void setDeliveryJobSystem(ReadOnlyDeliveryJobSystem jobSystem);
     
    +    /**
    +     * Returns delivery job system
    +     */
         ReadOnlyDeliveryJobSystem getDeliveryJobSystem();
     
    +    /**
    +     * Returns the filtered delivery job list
    +     */
         ObservableList getFilteredDeliveryJobList();
     
    +    /**
    +     * Checks if the job list has a certain job
    +     * @param job job to find
    +     */
         boolean hasDeliveryJob(DeliveryJob job);
     
    +    /**
    +     * Deletes delivery job in job list
    +     * @param target job to delete
    +     */
         void deleteDeliveryJob(DeliveryJob target);
     
    +    /**
    +     * Adds delivery job to job list
    +     * @param job job to add
    +     */
         void addDeliveryJob(DeliveryJob job);
     
    +    /**
    +     * Sets delivery job in job list to
    +     * @param target job to edit/to be replaced
    +     * @param editedJob new job to replace
    +     */
         void setDeliveryJob(DeliveryJob target, DeliveryJob editedJob);
     
    +    /**
    +     * Returns job list
    +     */
         ObservableList getDeliveryJobList();
     
    +    /**
    +     * Updates filtered delivery job list based on new predicate
    +     * @param predicate
    +     */
         void updateFilteredDeliveryJobList(Predicate predicate);
    +
    +    /**
    +     * Updates sorted delivery job list based on new sorter
    +     * @param sorter
    +     */
         void updateSortedDeliveryJobList(Comparator sorter);
    +
    +    /**
    +     * Updates sorted delivery job list by date
    +     */
         void updateSortedDeliveryJobListByDate();
    +
    +    /**
    +     * Updates delivery job list in week containing given date
    +     * @param date date to focus
    +     */
         void updateWeekDeliveryJobList(LocalDate date);
    +
    +    /**
    +     * Updates focus date
    +     * @param jobDate
    +     */
         void updateFocusDate(LocalDate jobDate);
    +
    +    /**
    +     * Returns sorted delivery job list
    +     */
         ObservableList getSortedDeliveryJobList();
    +
    +    /**
    +     * Returns sorted delivery job list by date
    +     */
         Map getSortedDeliveryJobListByDate();
    +
    +    /**
    +     * Returns job lis in the week
    +     */
         Map getWeekDeliveryJobList();
    +
    +    /**
    +     * Returns job list in a specific day of week
    +     * @param dayOfWeek
    +     */
         DeliveryList getDayOfWeekJob(int dayOfWeek);
    +
    +    /**
    +     * Returns list of unscheduled jobs
    +     */
    +    ObservableList getUnscheduledDeliveryJobList();
    +
    +    /**
    +     * Returns focus date
    +     */
         LocalDate getFocusDate();
     
     
    diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java
    index fb2451c88d1..cc54196becb 100644
    --- a/src/main/java/seedu/address/model/ModelManager.java
    +++ b/src/main/java/seedu/address/model/ModelManager.java
    @@ -340,6 +340,13 @@ public DeliveryList getDayOfWeekJob(int dayOfWeek) {
             return weekJobListGroupedByDate.get(dayToGet);
         }
     
    +    @Override
    +    public ObservableList getUnscheduledDeliveryJobList() {
    +        FilteredList unscheduledJobList = new FilteredList<>(this.deliveryJobSystem.getDeliveryJobList());
    +        unscheduledJobList.setPredicate(job -> ((!job.isScheduled()) && (job.getDeliveredStatus())));
    +        return FXCollections.observableArrayList(unscheduledJobList);
    +    }
    +
         @Override
         public LocalDate getFocusDate() {
             return focusDate;
    diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java
    index 2f822c94c3a..cde44f1c145 100644
    --- a/src/main/java/seedu/address/ui/MainWindow.java
    +++ b/src/main/java/seedu/address/ui/MainWindow.java
    @@ -29,6 +29,7 @@
     import seedu.address.ui.main.ResultDisplay;
     import seedu.address.ui.main.StatusBarFooter;
     import seedu.address.ui.person.AddressBookWindow;
    +import seedu.address.ui.timetable.UnscheduleWindow;
     
     /**
      * The Main Window. Provides the basic application layout containing
    @@ -45,14 +46,15 @@ public class MainWindow extends UiPart {
     
         // Independent Ui parts residing in this Ui container
         // private PersonListPanel personListPanel;
    +    private AddressBookWindow addressBookWindow;
    +    private AddDeliveryJobWindow addDeliveryJobWindow;
         private DeliveryJobListPanel deliveryJobListPanel;
         private ResultDisplay resultDisplay;
         private HelpWindow helpWindow;
         private TimetableWindow timetableWindow;
         private ReminderListWindow reminderListWindow;
         private StatisticsWindow statsWindow;
    -    private AddressBookWindow addressBookWindow;
    -    private AddDeliveryJobWindow addDeliveryJobWindow;
    +    private UnscheduleWindow unscheduleWindow;
     
         @FXML
         private StackPane commandBoxPlaceholder;
    @@ -137,6 +139,7 @@ public MainWindow(Stage primaryStage, Logic logic) {
     
             helpWindow = new HelpWindow();
             timetableWindow = new TimetableWindow(new Stage(), logic);
    +        unscheduleWindow = new UnscheduleWindow(new Stage(), logic);
             reminderListWindow = new ReminderListWindow(new Stage(), logic);
             statsWindow = new StatisticsWindow(new Stage(), logic);
             addressBookWindow = new AddressBookWindow(new Stage(), logic);
    @@ -265,6 +268,20 @@ private void handleTimetable() {
             }
         }
     
    +    /**
    +     * Opends unscheduled jobs window
    +     */
    +    @FXML
    +    private void handleUnscheduledTimetable() {
    +        if (!unscheduleWindow.isShowing()) {
    +            logger.info("Opened window of unscheduled jobs.");
    +            unscheduleWindow.show();
    +            unscheduleWindow.fillInnerParts();
    +        } else {
    +            unscheduleWindow.focus();
    +        }
    +    }
    +
         /**
          * Opens Reminder List window.
          */
    @@ -335,6 +352,7 @@ private void handleExit() {
             logic.setGuiSettings(guiSettings);
             helpWindow.hide();
             timetableWindow.hide();
    +        unscheduleWindow.hide();
             statsWindow.hide();
             addressBookWindow.hide();
             if (addDeliveryJobWindow != null) {
    @@ -362,6 +380,10 @@ private CommandResult executeCommand(String commandText) throws CommandException
                     handleTimetable();
                 }
     
    +            if (commandResult.isShowUnschedule()) {
    +                handleUnscheduledTimetable();
    +            }
    +
                 if (commandResult.isShowStatistics()) {
                     handleStats();
                 }
    diff --git a/src/main/java/seedu/address/ui/TimetableWindow.java b/src/main/java/seedu/address/ui/TimetableWindow.java
    index 0a28ce080bc..ae7ee0f0f05 100644
    --- a/src/main/java/seedu/address/ui/TimetableWindow.java
    +++ b/src/main/java/seedu/address/ui/TimetableWindow.java
    @@ -1,12 +1,9 @@
     package seedu.address.ui;
     
    -import java.net.URL;
     import java.time.LocalDate;
    -import java.util.ResourceBundle;
     import java.util.logging.Logger;
     
     import javafx.fxml.FXML;
    -import javafx.fxml.Initializable;
     import javafx.scene.Scene;
     import javafx.scene.layout.StackPane;
     import javafx.scene.layout.VBox;
    @@ -20,11 +17,12 @@
     import seedu.address.ui.main.CommandBox;
     import seedu.address.ui.main.ResultDisplay;
     import seedu.address.ui.main.StatusBarFooter;
    +import seedu.address.ui.timetable.TimetableDetailPanel;
     
     /**
      * Controller for a timetable page
      */
    -public class TimetableWindow extends UiPart implements Initializable {
    +public class TimetableWindow extends UiPart {
     
         private static final String FXML = "TimetableWindow.fxml";
         private final Logger logger = LogsCenter.getLogger(getClass());
    @@ -65,17 +63,14 @@ public TimetableWindow(Stage primaryStage, Logic logic) {
             contentContainer.prefWidthProperty().bind(scene.widthProperty());
     
             this.logic = logic;
    +        focusDate = LocalDate.now();
    +        focusDayOfWeek = focusDate.getDayOfWeek().getValue();
    +
     
             // Configure the UI
             setWindowDefaultSize(logic.getGuiSettings());
         }
     
    -    @Override
    -    public void initialize(URL url, ResourceBundle resourceBundle) {
    -        focusDate = LocalDate.now();
    -        focusDayOfWeek = focusDate.getDayOfWeek().getValue();
    -    }
    -
         /**
          * Shows the timetable window.
          * @throws IllegalStateException
    @@ -124,14 +119,10 @@ public void focus() {
         /**
          * Fills up all the placeholders of this window.
          */
    -    void fillInnerParts() {
    +    public void fillInnerParts() {
     
             updateTimetable();
     
    -        timetablePlaceholder.getChildren().clear();
    -        TimetableDetailPanel timetableDetail = new TimetableDetailPanel(focusDate, logic, primaryStage);
    -        timetablePlaceholder.getChildren().add(timetableDetail.getRoot());
    -
             resultDisplay = new ResultDisplay();
             resultDisplayPlaceholder.getChildren().add(resultDisplay.getRoot());
     
    @@ -142,6 +133,9 @@ void fillInnerParts() {
             commandBoxPlaceholder.getChildren().add(commandBox.getRoot());
         }
     
    +    /**
    +     * Updates timetable with the updated job list
    +     */
         void updateTimetable() {
             //Get year and month of week
             focusDate = logic.getFocusDate();
    diff --git a/src/main/java/seedu/address/ui/jobs/DayDeliveryJobCard.java b/src/main/java/seedu/address/ui/jobs/DayDeliveryJobCard.java
    index 2691b1b7022..30d2de5dcdf 100644
    --- a/src/main/java/seedu/address/ui/jobs/DayDeliveryJobCard.java
    +++ b/src/main/java/seedu/address/ui/jobs/DayDeliveryJobCard.java
    @@ -4,6 +4,8 @@
     import javafx.scene.control.Label;
     import javafx.scene.layout.HBox;
     import javafx.scene.layout.Region;
    +import seedu.address.logic.Logic;
    +import seedu.address.model.ReadOnlyAddressBook;
     import seedu.address.model.jobs.DeliveryJob;
     import seedu.address.ui.UiPart;
     
    @@ -23,6 +25,7 @@ public class DayDeliveryJobCard extends UiPart {
          */
     
         private final DeliveryJob job;
    +    private final Logic logic;
     
         @FXML
         private HBox cardPane;
    @@ -34,45 +37,38 @@ public class DayDeliveryJobCard extends UiPart {
         private Label receipient;
         @FXML
         private Label address;
    -   /* @FXML
    -    private Label deliveryTimeDate;
    -    @FXML
    -    private Label deliveryTimeSlot;*/
    +
         @FXML
         private Label earning;
    -   // @FXML
    -    //private Label completedStatus;
     
         /**
          * Creates a {@code PersonCode} with the given {@code Person} and index to display.
          */
    -    public DayDeliveryJobCard(DeliveryJob job, int displayedIndex) {
    +    public DayDeliveryJobCard(Logic logic, DeliveryJob job, int displayedIndex) {
             super(FXML);
             this.job = job;
    +        this.logic = logic;
    +        ReadOnlyAddressBook addressBook = logic.getAddressBook();
    +
             id.setText(displayedIndex + ". ");
             label.setText(job.getJobId());
    -        receipient.setText(job.getRecipientId());
    -        address.setText("Refine later");
    -
    -       /* job.getDeliveryDate().ifPresentOrElse(val -> {
    -            deliveryTimeDate.setText(val.date);
    +        if (job.getRecipientId() != null) {
    +            receipient.setText("To: " + job.getRecipientId());
    +        } else {
    +            receipient.setText("To: N.A.");
    +        }
    +        addressBook.getPersonById(job.getRecipientId()).ifPresentOrElse(per -> {
    +            address.setText("Dest: " + "\n" + per.getAddress().toString());
             }, () -> {
    -            deliveryTimeDate.setText("N.A");
    +            address.setText("Dest: N.A.");
             });
     
    -        job.getDeliverySlot().ifPresentOrElse(val -> {
    -            deliveryTimeSlot.setText(val.value);
    -        }, () -> {
    -            deliveryTimeSlot.setText("N.A");
    -        });*/
    -
             job.getEarning().ifPresentOrElse(val -> {
    -            earning.setText(val.value);
    +            earning.setText("Earning: $" + val.value);
             }, () -> {
    -            earning.setText("N.A");
    +            earning.setText("Earning: N.A");
             });
     
    -       // completedStatus.setText(String.valueOf(job.getDeliveredStatus()));
         }
     
         @Override
    diff --git a/src/main/java/seedu/address/ui/jobs/DayJobListPanel.java b/src/main/java/seedu/address/ui/jobs/DayJobListPanel.java
    index 4830dfb548e..c3bedee37c7 100644
    --- a/src/main/java/seedu/address/ui/jobs/DayJobListPanel.java
    +++ b/src/main/java/seedu/address/ui/jobs/DayJobListPanel.java
    @@ -7,11 +7,9 @@
     import javafx.fxml.FXML;
     import javafx.scene.control.ListCell;
     import javafx.scene.control.ListView;
    -import javafx.scene.layout.Background;
    -import javafx.scene.layout.BackgroundFill;
     import javafx.scene.layout.Region;
    -import javafx.scene.paint.Color;
     import seedu.address.commons.core.LogsCenter;
    +import seedu.address.logic.Logic;
     import seedu.address.model.jobs.DeliveryJob;
     import seedu.address.model.jobs.DeliveryList;
     import seedu.address.ui.UiPart;
    @@ -22,6 +20,7 @@
     public class DayJobListPanel extends UiPart {
         private static final String FXML = "DayJobListPane.fxml";
         private final Logger logger = LogsCenter.getLogger(DayJobListPanel.class);
    +    private final Logic logic;
     
         @FXML
         private ListView jobList1;
    @@ -42,8 +41,10 @@ public class DayJobListPanel extends UiPart {
         /**
          * Creates a {@code DeliveryJobListPanel} with the given {@code ObservableList}.
          */
    -    public DayJobListPanel(DeliveryList jobListInDay) {
    +    public DayJobListPanel(Logic logic, DeliveryList jobListInDay) {
             super(FXML);
    +        this.logic = logic;
    +
             addJobListToSlot(jobList1, jobListInDay.get(0));
             addJobListToSlot(jobList2, jobListInDay.get(1));
             addJobListToSlot(jobList3, jobListInDay.get(2));
    @@ -72,10 +73,12 @@ protected void updateItem(DeliveryJob job, boolean empty) {
                     setText(null);
                     setStyle("-fx-background-color: transparent;");
                 } else {
    -                setGraphic(new DayDeliveryJobCard(job, getIndex() + 1).getRoot());
    +                setGraphic(new DayDeliveryJobCard(logic, job, getIndex() + 1).getRoot());
                 }
     
                 if (getIndex() % 2 == 1) {
    +                setStyle("-fx-background-color: DARKCYAN;");
    +            } else {
                     setStyle("-fx-background-color: lightgrey;");
                 }
             }
    diff --git a/src/main/java/seedu/address/ui/person/AddressBookWindow.java b/src/main/java/seedu/address/ui/person/AddressBookWindow.java
    index 26b5903b087..e2f05870d0f 100644
    --- a/src/main/java/seedu/address/ui/person/AddressBookWindow.java
    +++ b/src/main/java/seedu/address/ui/person/AddressBookWindow.java
    @@ -58,7 +58,7 @@ public AddressBookWindow(Stage primaryStage, Logic logic, Consumer selec
             super(FXML, primaryStage);
     
             // Set dependencies
    -        this.primaryStage = new Stage();
    +        this.primaryStage = primaryStage;
             this.logic = logic;
             this.selectHandler = selectHandler;
         }
    diff --git a/src/main/java/seedu/address/ui/TimetableDetailPanel.java b/src/main/java/seedu/address/ui/timetable/TimetableDetailPanel.java
    similarity index 92%
    rename from src/main/java/seedu/address/ui/TimetableDetailPanel.java
    rename to src/main/java/seedu/address/ui/timetable/TimetableDetailPanel.java
    index d202c043d5e..75e73506bfb 100644
    --- a/src/main/java/seedu/address/ui/TimetableDetailPanel.java
    +++ b/src/main/java/seedu/address/ui/timetable/TimetableDetailPanel.java
    @@ -1,4 +1,4 @@
    -package seedu.address.ui;
    +package seedu.address.ui.timetable;
     
     import java.time.LocalDate;
     import java.util.logging.Logger;
    @@ -12,9 +12,7 @@
     import javafx.stage.Stage;
     import seedu.address.commons.core.LogsCenter;
     import seedu.address.logic.Logic;
    -import seedu.address.ui.timetable.DayOfMonthPanel;
    -import seedu.address.ui.timetable.DayOfWeekPanel;
    -import seedu.address.ui.timetable.WeekJobListPanel;
    +import seedu.address.ui.UiPart;
     
     /**
      * Controller for a timetable page
    diff --git a/src/main/java/seedu/address/ui/timetable/UnscheduleWindow.java b/src/main/java/seedu/address/ui/timetable/UnscheduleWindow.java
    new file mode 100644
    index 00000000000..a2093b6eda9
    --- /dev/null
    +++ b/src/main/java/seedu/address/ui/timetable/UnscheduleWindow.java
    @@ -0,0 +1,95 @@
    +package seedu.address.ui.timetable;
    +
    +import java.util.function.Consumer;
    +import java.util.logging.Logger;
    +
    +import javafx.fxml.FXML;
    +import javafx.scene.layout.StackPane;
    +import javafx.stage.Stage;
    +import seedu.address.commons.core.LogsCenter;
    +import seedu.address.logic.Logic;
    +import seedu.address.model.jobs.DeliveryJob;
    +import seedu.address.ui.UiPart;
    +import seedu.address.ui.jobs.DeliveryJobListPanel;
    +import seedu.address.ui.main.ResultDisplay;
    +import seedu.address.ui.main.StatusBarFooter;
    +
    +/**
    + * Displays contact list.
    + */
    +public class UnscheduleWindow extends UiPart {
    +
    +    private static final String FXML = "UnscheduleWindow.fxml";
    +
    +    private final Logger logger = LogsCenter.getLogger(getClass());
    +
    +    private final Consumer selectHandler;
    +
    +    private Stage primaryStage;
    +    private Logic logic;
    +
    +    private ResultDisplay resultDisplay;
    +    private DeliveryJobListPanel jobListPanel;
    +    @FXML
    +    private StackPane jobListPanelPlaceholder;
    +    @FXML
    +    private StackPane statusbarPlaceholder;
    +
    +    /**
    +     * Creates a {@code AddressBookWindow} with the given {@code Stage} and {@code Logic}.
    +     */
    +    public UnscheduleWindow(Stage primaryStage, Logic logic) {
    +        super(FXML, primaryStage);
    +        this.primaryStage = primaryStage;
    +        this.logic = logic;
    +        this.selectHandler = (job) -> {};
    +
    +    }
    +
    +
    +    /**
    +     * Show main window.
    +     */
    +    public void show() {
    +        logger.fine("Showing address book page");
    +        getRoot().show();
    +        getRoot().centerOnScreen();
    +    }
    +
    +    /**
    +     * Returns true if the stats window is currently being shown.
    +     */
    +    public boolean isShowing() {
    +        return getRoot().isShowing();
    +    }
    +
    +    /**
    +     * Hides the stats window.
    +     */
    +    public void hide() {
    +        getRoot().hide();
    +    }
    +
    +    /**
    +     * Focuses on the stats window.
    +     */
    +    public void focus() {
    +        getRoot().requestFocus();
    +    }
    +
    +    /**
    +     * fillInnerParts.
    +     */
    +    public void fillInnerParts() {
    +        jobListPanel = new DeliveryJobListPanel(logic.getUnscheduledDeliveryJobList());
    +        jobListPanelPlaceholder.getChildren().add(jobListPanel.getRoot());
    +        StatusBarFooter statusBarFooter = new StatusBarFooter(logic.getAddressBookFilePath());
    +        statusbarPlaceholder.getChildren().add(statusBarFooter.getRoot());
    +    }
    +
    +    @FXML
    +    private void handleExit() {
    +        primaryStage.hide();
    +    }
    +
    +}
    diff --git a/src/main/java/seedu/address/ui/timetable/WeekJobListPanel.java b/src/main/java/seedu/address/ui/timetable/WeekJobListPanel.java
    index b1d0f3ddc55..3c3318152c5 100644
    --- a/src/main/java/seedu/address/ui/timetable/WeekJobListPanel.java
    +++ b/src/main/java/seedu/address/ui/timetable/WeekJobListPanel.java
    @@ -101,7 +101,7 @@ private void addAllPlaceholderJobs() {
     
         private void addJobSlotsToPanel(StackPane panelPlaceholder, DeliveryList jobListInDay) {
             if (jobListInDay != null) {
    -            DayJobListPanel jobListInDayPane = new DayJobListPanel(jobListInDay);
    +            DayJobListPanel jobListInDayPane = new DayJobListPanel(logic, jobListInDay);
                 panelPlaceholder.getChildren().add(jobListInDayPane.getRoot());
             }
         }
    diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml
    index 5d9d2bd516c..d49e9adcb5f 100644
    --- a/src/main/resources/view/MainWindow.fxml
    +++ b/src/main/resources/view/MainWindow.fxml
    @@ -38,6 +38,7 @@
                          
                          
                             
    +                         
                          
                          
                             
    diff --git a/src/main/resources/view/UnscheduleWindow.fxml b/src/main/resources/view/UnscheduleWindow.fxml
    new file mode 100644
    index 00000000000..9387ff624e5
    --- /dev/null
    +++ b/src/main/resources/view/UnscheduleWindow.fxml
    @@ -0,0 +1,49 @@
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +    
    +        
    +    
    +    
    +        
    +            
    +                
    +                    
    +                        
    +                            
    +                        
    +                    
    +                            
    +                                
    +                                    
    +                                        
    +                                            
    +                                        
    +                                        
    +                                            
    +                                        
    +                                    
    +                                
    +                            
    +                    
    +                
    +            
    +            
    +                
    +                
    +            
    +        
    +    
    +
    diff --git a/src/test/java/seedu/address/logic/commands/AddCommandTest.java b/src/test/java/seedu/address/logic/commands/AddCommandTest.java
    index 6dccede3be8..48b9749d7bd 100644
    --- a/src/test/java/seedu/address/logic/commands/AddCommandTest.java
    +++ b/src/test/java/seedu/address/logic/commands/AddCommandTest.java
    @@ -207,6 +207,11 @@ public DeliveryList getDayOfWeekJob(int dayOfWeek) {
                 throw new AssertionError("This method should not be called.");
             }
     
    +        @Override
    +        public ObservableList getUnscheduledDeliveryJobList() {
    +            throw new AssertionError("This method should not be called.");
    +        }
    +
             @Override
             public LocalDate getFocusDate() {
                 throw new AssertionError("This method should not be called.");
    diff --git a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java
    index 9dbb84e8880..62150f86fbd 100644
    --- a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java
    +++ b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java
    @@ -17,13 +17,13 @@
     import seedu.address.logic.commands.ExitCommand;
     import seedu.address.logic.commands.HelpCommand;
     import seedu.address.logic.commands.StatisticsCommand;
    -import seedu.address.logic.commands.TimetableCommand;
     import seedu.address.logic.commands.person.AddCommand;
     import seedu.address.logic.commands.person.DeleteCommand;
     import seedu.address.logic.commands.person.EditCommand;
     import seedu.address.logic.commands.person.EditCommand.EditPersonDescriptor;
     import seedu.address.logic.commands.person.FindCommand;
     import seedu.address.logic.commands.person.ListCommand;
    +import seedu.address.logic.commands.timetable.TimetableCommand;
     import seedu.address.logic.parser.exceptions.ParseException;
     import seedu.address.model.person.NameContainsKeywordsPredicate;
     import seedu.address.model.person.Person;
    
    From 9ac178b6688d69074419334acc09f68ce9ba3ab9 Mon Sep 17 00:00:00 2001
    From: zuohui48 <83281769+zuohui48@users.noreply.github.com>
    Date: Tue, 28 Mar 2023 17:05:47 +0800
    Subject: [PATCH 205/470] Add Total Earnings to stats window
    
    ---
     src/main/java/seedu/address/logic/Logic.java  |  2 +
     .../seedu/address/logic/LogicManager.java     | 15 +++++++
     .../address/model/stats/TotalEarnings.java    | 41 +++++++++++++++++++
     .../seedu/address/model/stats/TotalJobs.java  |  2 +-
     .../seedu/address/ui/StatisticsWindow.java    |  9 ++--
     5 files changed, 64 insertions(+), 5 deletions(-)
     create mode 100644 src/main/java/seedu/address/model/stats/TotalEarnings.java
    
    diff --git a/src/main/java/seedu/address/logic/Logic.java b/src/main/java/seedu/address/logic/Logic.java
    index 968a3395cff..8e2ba5c5823 100644
    --- a/src/main/java/seedu/address/logic/Logic.java
    +++ b/src/main/java/seedu/address/logic/Logic.java
    @@ -71,6 +71,8 @@ public interface Logic {
     
         DeliveryList getDayofWeekJob(int dayOfWeek);
     
    +    double getTotalEarnings(ObservableList list);
    +
         /**
          * Returns the user prefs' address book file path.
          */
    diff --git a/src/main/java/seedu/address/logic/LogicManager.java b/src/main/java/seedu/address/logic/LogicManager.java
    index 1ef2a8d70bd..e597c33cae2 100644
    --- a/src/main/java/seedu/address/logic/LogicManager.java
    +++ b/src/main/java/seedu/address/logic/LogicManager.java
    @@ -4,6 +4,7 @@
     import java.nio.file.Path;
     import java.time.LocalDate;
     import java.util.Map;
    +import java.util.Optional;
     import java.util.logging.Logger;
     
     import javafx.collections.ObservableList;
    @@ -19,6 +20,7 @@
     import seedu.address.model.ReadOnlyAddressBook;
     import seedu.address.model.jobs.DeliveryJob;
     import seedu.address.model.jobs.DeliveryList;
    +import seedu.address.model.jobs.Earning;
     import seedu.address.model.person.Person;
     import seedu.address.model.reminder.Reminder;
     import seedu.address.storage.Storage;
    @@ -111,6 +113,19 @@ public DeliveryList getDayofWeekJob(int dayOfWeek) {
             return model.getDayOfWeekJob(dayOfWeek);
         }
     
    +    @Override
    +    public double getTotalEarnings(ObservableList list) {
    +        double earnings = 0;
    +        for (DeliveryJob job: list) {
    +            Optional earning = job.getEarning();
    +            Earning earn = earning.get();
    +            if (earn != null) {
    +                earnings += Double.parseDouble(earn.value);
    +            }
    +        }
    +        return earnings;
    +    }
    +
     
         @Override
         public ObservableList getReminderList() {
    diff --git a/src/main/java/seedu/address/model/stats/TotalEarnings.java b/src/main/java/seedu/address/model/stats/TotalEarnings.java
    new file mode 100644
    index 00000000000..c7c864edf77
    --- /dev/null
    +++ b/src/main/java/seedu/address/model/stats/TotalEarnings.java
    @@ -0,0 +1,41 @@
    +package seedu.address.model.stats;
    +
    +import static java.util.Objects.requireNonNull;
    +import static seedu.address.commons.util.AppUtil.checkArgument;
    +
    +/**
    + * Represents TotalEarnings in Statistics Window.
    + * Guarantees: details are present and not null.
    + */
    +public class TotalEarnings {
    +    public static final String MESSAGE_CONSTRAINTS = "TotalEarnings must be a non-negative integer";
    +    private static final String OUTPUT_MESSAGE = "Total Earnings: ";
    +    private double earnings;
    +
    +    /**
    +     * Constructor to create a TotalEarnings object.
    +     * @param earnings Total earnings from all jobs in the joblist. Cannot be negative and cannot be null.
    +     */
    +    public TotalEarnings(double earnings) {
    +        requireNonNull(earnings);
    +        checkArgument(isValidEarnings(earnings), MESSAGE_CONSTRAINTS);
    +        this.earnings = earnings;
    +    }
    +
    +    public double getEarnings() {
    +        return earnings;
    +    }
    +
    +    /**
    +     * Returns true if a given int is non-negative
    +     */
    +    public static boolean isValidEarnings(double test) {
    +        return test >= 0;
    +    }
    +
    +    @Override
    +    public String toString() {
    +        return OUTPUT_MESSAGE + earnings + "\n";
    +    }
    +
    +}
    diff --git a/src/main/java/seedu/address/model/stats/TotalJobs.java b/src/main/java/seedu/address/model/stats/TotalJobs.java
    index 05d8a05d72f..09f48d5ca27 100644
    --- a/src/main/java/seedu/address/model/stats/TotalJobs.java
    +++ b/src/main/java/seedu/address/model/stats/TotalJobs.java
    @@ -14,7 +14,7 @@ public class TotalJobs {
         private int numJobs;
     
         /**
    -     * Constructor to create a Reminder object.
    +     * Constructor to create a TotalJobs object.
          * @param numJobs Number of jobs in job list. Cannot be negative and cannot be null.
          */
         public TotalJobs(int numJobs) {
    diff --git a/src/main/java/seedu/address/ui/StatisticsWindow.java b/src/main/java/seedu/address/ui/StatisticsWindow.java
    index e692bd7384d..14a98c2ff17 100644
    --- a/src/main/java/seedu/address/ui/StatisticsWindow.java
    +++ b/src/main/java/seedu/address/ui/StatisticsWindow.java
    @@ -14,6 +14,7 @@
     import seedu.address.logic.commands.exceptions.CommandException;
     import seedu.address.logic.parser.exceptions.ParseException;
     import seedu.address.model.jobs.DeliveryJob;
    +import seedu.address.model.stats.TotalEarnings;
     import seedu.address.model.stats.TotalJobs;
     import seedu.address.ui.jobs.DeliveryJobListPanel;
     import seedu.address.ui.main.ResultDisplay;
    @@ -117,13 +118,13 @@ public DeliveryJobListPanel getDeliveryJobListPanel() {
          * Fills up all the placeholders of this window.
          */
         void fillInnerParts() {
    -
    +        ObservableList list = logic.getFilteredDeliveryJobList();
    +        TotalJobs totalJobs = new TotalJobs(list.size());
    +        TotalEarnings totalEarnings = new TotalEarnings(logic.getTotalEarnings(list));
             // new simple DeliveryJobListPanel constructor with no event handlers
             //deliveryJobListPanel = new DeliveryJobListPanel(logic.getFilteredDeliveryJobList());
             //deliveryJobListPanelPlaceholder.getChildren().add(deliveryJobListPanel.getRoot());
    -
    -        ObservableList list = logic.getFilteredDeliveryJobList();
    -        totalJob.setText(new TotalJobs(list.size()).toString());
    +        totalJob.setText(totalJobs.toString() + totalEarnings.toString());
     
             //resultDisplay = new ResultDisplay();
             //resultDisplayPlaceholder.getChildren().add(resultDisplay.getRoot());
    
    From 79af047d8e0bc2888f5585e8eccce5eceb49263b Mon Sep 17 00:00:00 2001
    From: dohaduong 
    Date: Tue, 28 Mar 2023 18:27:43 +0800
    Subject: [PATCH 206/470] Add command to show list of completed jobs Main
     Window is only able to show timetable of scheduled jobs and jobs with invalid
     date/slot.
    
    Adding command to show list of completed jobs helps users to use the app better.
    
    Let's
    * add a new window to show list of completed jobs
    * add timetable_complete command to show list of completed jobs from Main Window
    * add button to go to window of completed jobs from Main Window
    ---
     src/main/java/seedu/address/logic/Logic.java  |  4 +
     .../seedu/address/logic/LogicManager.java     |  7 +-
     .../address/logic/commands/CommandResult.java | 13 ++-
     .../commands/jobs/AddDeliveryJobCommand.java  |  9 ++
     .../timetable/TimetableCompletedCommand.java  | 28 ++++++
     .../timetable/TimetableUnscheduleCommand.java |  2 +-
     .../logic/parser/DukeDriverParser.java        |  4 +
     .../jobs/AddDeliveryJobCommandParser.java     | 23 +++++
     src/main/java/seedu/address/model/Model.java  |  5 +
     .../seedu/address/model/ModelManager.java     | 11 ++-
     .../address/model/jobs/DeliverySlot.java      |  3 +-
     .../java/seedu/address/ui/MainWindow.java     | 21 ++++
     .../address/ui/timetable/CompleteWindow.java  | 95 +++++++++++++++++++
     .../ui/timetable/UnscheduleWindow.java        | 15 +--
     .../resources/view/AddDeliveryJobWindow.fxml  |  2 +-
     .../resources/view/CompletedJobWindow.fxml    | 71 ++++++++++++++
     .../view/DayDeliveryJobListCard.fxml          |  2 +-
     .../resources/view/DeliveryJobDetailPane.fxml |  2 +-
     .../resources/view/DeliveryJobListCard.fxml   |  2 +-
     src/main/resources/view/MainWindow copy.fxml  |  2 +-
     src/main/resources/view/MainWindow.fxml       |  3 +-
     src/main/resources/view/UnscheduleWindow.fxml | 34 +++++--
     .../logic/commands/AddCommandTest.java        |  5 +
     23 files changed, 338 insertions(+), 25 deletions(-)
     create mode 100644 src/main/java/seedu/address/logic/commands/timetable/TimetableCompletedCommand.java
     create mode 100644 src/main/java/seedu/address/ui/timetable/CompleteWindow.java
     create mode 100644 src/main/resources/view/CompletedJobWindow.fxml
    
    diff --git a/src/main/java/seedu/address/logic/Logic.java b/src/main/java/seedu/address/logic/Logic.java
    index 55d1555db20..01ee5d3d2a6 100644
    --- a/src/main/java/seedu/address/logic/Logic.java
    +++ b/src/main/java/seedu/address/logic/Logic.java
    @@ -80,6 +80,10 @@ public interface Logic {
          */
         ObservableList getUnscheduledDeliveryJobList();
     
    +    /**
    +     * Returns an unmodifiable view of the list of completed delivery jobs
    +     */
    +    ObservableList getCompletedDeliveryJobList();
     
         /**
          * Returns the user prefs' address book file path.
    diff --git a/src/main/java/seedu/address/logic/LogicManager.java b/src/main/java/seedu/address/logic/LogicManager.java
    index 7258e275893..3cdd48f8eec 100644
    --- a/src/main/java/seedu/address/logic/LogicManager.java
    +++ b/src/main/java/seedu/address/logic/LogicManager.java
    @@ -149,7 +149,12 @@ public void setWeekDeliveryJobList(LocalDate focusDate) {
         @Override
         public void updateSortedDeliveryJobListByDate() {
             model.updateSortedDeliveryJobListByDate();
    -    };
    +    }
    +
    +    @Override
    +    public ObservableList getCompletedDeliveryJobList() {
    +        return model.getCompletedDeliveryJobList();
    +    }
     
         @Override
         public LocalDate getFocusDate() {
    diff --git a/src/main/java/seedu/address/logic/commands/CommandResult.java b/src/main/java/seedu/address/logic/commands/CommandResult.java
    index 7fe3c615872..cfd2664380c 100644
    --- a/src/main/java/seedu/address/logic/commands/CommandResult.java
    +++ b/src/main/java/seedu/address/logic/commands/CommandResult.java
    @@ -26,6 +26,11 @@ public class CommandResult {
          */
         private final boolean showUnschedule;
     
    +    /**
    +     * List of completed jobs should be shown to user.
    +     */
    +    private final boolean showComplete;
    +
         /**
          * Statistics information should be shown to the user.
          */
    @@ -46,12 +51,13 @@ public class CommandResult {
          */
     
         public CommandResult(String feedbackToUser, boolean showHelp, boolean showTimetable,
    -                         boolean showUnschedule, boolean showReminderList,
    +                         boolean showUnschedule, boolean showComplete, boolean showReminderList,
                              boolean showStatistics, boolean exit) {
             this.feedbackToUser = requireNonNull(feedbackToUser);
             this.showHelp = showHelp;
             this.showTimetable = showTimetable;
             this.showUnschedule = showUnschedule;
    +        this.showComplete = showComplete;
             this.showReminderList = showReminderList;
             this.showStatistics = showStatistics;
             this.exit = exit;
    @@ -74,6 +80,7 @@ public CommandResult(String feedbackToUser, boolean showHelp, boolean showTimeta
             this.showHelp = showHelp;
             this.showTimetable = showTimetable;
             this.showUnschedule = false;
    +        this.showComplete = false;
             this.showReminderList = showReminderList;
             this.showStatistics = showStatistics;
             this.exit = exit;
    @@ -102,7 +109,9 @@ public boolean isShowTimetable() {
         public boolean isShowUnschedule() {
             return showUnschedule;
         }
    -
    +    public boolean isShowComplete() {
    +        return showComplete;
    +    }
     
         public boolean isShowStatistics() {
             return showStatistics;
    diff --git a/src/main/java/seedu/address/logic/commands/jobs/AddDeliveryJobCommand.java b/src/main/java/seedu/address/logic/commands/jobs/AddDeliveryJobCommand.java
    index bbe41d60136..5716b8ee0d9 100644
    --- a/src/main/java/seedu/address/logic/commands/jobs/AddDeliveryJobCommand.java
    +++ b/src/main/java/seedu/address/logic/commands/jobs/AddDeliveryJobCommand.java
    @@ -20,6 +20,15 @@ public class AddDeliveryJobCommand extends Command {
     
         public static final String COMMAND_WORD = "add_job";
     
    +    public static final String MESSAGE_SENDER_CONSTRAINT = "Sender ID should contain "
    +            + "numeric and alphabetical characters\"\n"
    +            + "+ \"and it should not be blank.\\n\"\n";
    +
    +    public static final String MESSAGE_RECIPIENT_CONSTRAINT = "Recipient ID should contain numeric"
    +            + "and alphabetical characters\"\n"
    +            + "            + \"and it should not be blank.\\n\"\n";
    +
    +
         public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a job to the delivery job system. "
                 + "Parameters: "
                 + PREFIX_SENDER_ID + "SENDER ID "
    diff --git a/src/main/java/seedu/address/logic/commands/timetable/TimetableCompletedCommand.java b/src/main/java/seedu/address/logic/commands/timetable/TimetableCompletedCommand.java
    new file mode 100644
    index 00000000000..e57f89c98a4
    --- /dev/null
    +++ b/src/main/java/seedu/address/logic/commands/timetable/TimetableCompletedCommand.java
    @@ -0,0 +1,28 @@
    +package seedu.address.logic.commands.timetable;
    +
    +import static java.util.Objects.requireNonNull;
    +
    +import seedu.address.logic.commands.Command;
    +import seedu.address.logic.commands.CommandResult;
    +import seedu.address.logic.commands.exceptions.CommandException;
    +import seedu.address.model.Model;
    +
    +/**
    + * Finds and lists unscheduled jobs - those with invalid slot/date
    + */
    +public class TimetableCompletedCommand extends Command {
    +    public static final String COMMAND_WORD = "timetable_complete";
    +
    +    public static final String MESSAGE_USAGE = COMMAND_WORD
    +            + ": Lists completed jobs";
    +    public static final String MESSAGE_SUCCESS = "Listed all completed jobs";
    +
    +    @Override
    +    public CommandResult execute(Model model) throws CommandException {
    +        requireNonNull(model);
    +
    +
    +        return new CommandResult(MESSAGE_SUCCESS, false, false, false, true, false, false, false);
    +    }
    +
    +}
    diff --git a/src/main/java/seedu/address/logic/commands/timetable/TimetableUnscheduleCommand.java b/src/main/java/seedu/address/logic/commands/timetable/TimetableUnscheduleCommand.java
    index f904c0a9138..3f32eaedc0b 100644
    --- a/src/main/java/seedu/address/logic/commands/timetable/TimetableUnscheduleCommand.java
    +++ b/src/main/java/seedu/address/logic/commands/timetable/TimetableUnscheduleCommand.java
    @@ -22,7 +22,7 @@ public CommandResult execute(Model model) throws CommandException {
             requireNonNull(model);
     
     
    -        return new CommandResult(MESSAGE_SUCCESS, false, false, true, false, false, false);
    +        return new CommandResult(MESSAGE_SUCCESS, false, false, true, false, false, false, false);
         }
     
     }
    diff --git a/src/main/java/seedu/address/logic/parser/DukeDriverParser.java b/src/main/java/seedu/address/logic/parser/DukeDriverParser.java
    index fde64c03274..25d903a7a1d 100644
    --- a/src/main/java/seedu/address/logic/parser/DukeDriverParser.java
    +++ b/src/main/java/seedu/address/logic/parser/DukeDriverParser.java
    @@ -26,6 +26,7 @@
     import seedu.address.logic.commands.reminder.DeleteReminderCommand;
     import seedu.address.logic.commands.reminder.ListReminderCommand;
     import seedu.address.logic.commands.timetable.TimetableCommand;
    +import seedu.address.logic.commands.timetable.TimetableCompletedCommand;
     import seedu.address.logic.commands.timetable.TimetableDateCommand;
     import seedu.address.logic.commands.timetable.TimetableUnscheduleCommand;
     import seedu.address.logic.parser.exceptions.ParseException;
    @@ -111,6 +112,9 @@ public Command parseCommand(String userInput) throws ParseException {
             case TimetableUnscheduleCommand.COMMAND_WORD:
                 return new TimetableUnscheduleCommand();
     
    +        case TimetableCompletedCommand.COMMAND_WORD:
    +            return new TimetableCompletedCommand();
    +
             case ListDeliveryJobCommand.COMMAND_WORD:
                 return new ListDeliveryJobCommand();
     
    diff --git a/src/main/java/seedu/address/logic/parser/jobs/AddDeliveryJobCommandParser.java b/src/main/java/seedu/address/logic/parser/jobs/AddDeliveryJobCommandParser.java
    index 4a303e55c65..87973dcfde7 100644
    --- a/src/main/java/seedu/address/logic/parser/jobs/AddDeliveryJobCommandParser.java
    +++ b/src/main/java/seedu/address/logic/parser/jobs/AddDeliveryJobCommandParser.java
    @@ -15,7 +15,10 @@
     import seedu.address.logic.parser.Parser;
     import seedu.address.logic.parser.Prefix;
     import seedu.address.logic.parser.exceptions.ParseException;
    +import seedu.address.model.jobs.DeliveryDate;
     import seedu.address.model.jobs.DeliveryJob;
    +import seedu.address.model.jobs.DeliverySlot;
    +import seedu.address.model.jobs.Earning;
     
     /**
      * Parses input arguments and creates a new AddCommand object
    @@ -54,6 +57,26 @@ public AddDeliveryJobCommand parse(String args) throws ParseException {
             String des = argMultimap.getValue(PREFIX_DELIVERY_SLOT).get();
             String ear = argMultimap.getValue(PREFIX_EARNING).get();
     
    +        if (sid.equals("")) {
    +            throw new ParseException(AddDeliveryJobCommand.MESSAGE_SENDER_CONSTRAINT);
    +        }
    +
    +        if (rid.equals("")) {
    +            throw new ParseException(AddDeliveryJobCommand.MESSAGE_SENDER_CONSTRAINT);
    +        }
    +
    +        if (ded.equals("")) {
    +            throw new ParseException(DeliveryDate.MESSAGE_CONSTRAINTS);
    +        }
    +
    +        if (des.equals("")) {
    +            throw new ParseException(DeliverySlot.MESSAGE_CONSTRAINTS);
    +        }
    +
    +        if (ear.equals("")) {
    +            throw new ParseException(Earning.MESSAGE_CONSTRAINTS);
    +        }
    +
             DeliveryJob job = new DeliveryJob(rid, sid, ded, des, ear, "");
             return new AddDeliveryJobCommand(job);
         }
    diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java
    index 6953405eb1d..b6f73e164a5 100644
    --- a/src/main/java/seedu/address/model/Model.java
    +++ b/src/main/java/seedu/address/model/Model.java
    @@ -213,6 +213,11 @@ public interface Model {
          */
         ObservableList getUnscheduledDeliveryJobList();
     
    +    /**
    +     * Returns list of completed jobs
    +     */
    +    ObservableList getCompletedDeliveryJobList();
    +
         /**
          * Returns focus date
          */
    diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java
    index cc54196becb..e7f824b2764 100644
    --- a/src/main/java/seedu/address/model/ModelManager.java
    +++ b/src/main/java/seedu/address/model/ModelManager.java
    @@ -343,7 +343,16 @@ public DeliveryList getDayOfWeekJob(int dayOfWeek) {
         @Override
         public ObservableList getUnscheduledDeliveryJobList() {
             FilteredList unscheduledJobList = new FilteredList<>(this.deliveryJobSystem.getDeliveryJobList());
    -        unscheduledJobList.setPredicate(job -> ((!job.isScheduled()) && (job.getDeliveredStatus())));
    +        unscheduledJobList.setPredicate(job -> (!job.isScheduled()));
    +        return FXCollections.observableArrayList(unscheduledJobList);
    +    }
    +
    +    @Override
    +    public ObservableList getCompletedDeliveryJobList() {
    +        updateSortedDeliveryJobList(SORTER_BY_DATE);
    +        FilteredList unscheduledJobList =
    +                new FilteredList<>(FXCollections.observableArrayList(sortedDeliveryJobs));
    +        unscheduledJobList.setPredicate(job -> (job.getDeliveredStatus()));
             return FXCollections.observableArrayList(unscheduledJobList);
         }
     
    diff --git a/src/main/java/seedu/address/model/jobs/DeliverySlot.java b/src/main/java/seedu/address/model/jobs/DeliverySlot.java
    index 0d55c43f939..18b5dfb5cc1 100644
    --- a/src/main/java/seedu/address/model/jobs/DeliverySlot.java
    +++ b/src/main/java/seedu/address/model/jobs/DeliverySlot.java
    @@ -10,7 +10,7 @@
      */
     public class DeliverySlot {
     
    -    public static final String MESSAGE_CONSTRAINTS = "Delivery Slot should between [1-n], and it should not be blank";
    +    public static final String MESSAGE_CONSTRAINTS = "Delivery Slot should between [1-5], and it should not be blank";
     
         public static final String VALIDATION_REGEX = "\\d+";
     
    @@ -24,6 +24,7 @@ public class DeliverySlot {
         public DeliverySlot(String value) {
             requireNonNull(value);
             checkArgument(isValidDeliverySlot(value), MESSAGE_CONSTRAINTS);
    +        int valueInt = Integer.parseInt(value);
             this.value = value;
         }
     
    diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java
    index cde44f1c145..107f51d7727 100644
    --- a/src/main/java/seedu/address/ui/MainWindow.java
    +++ b/src/main/java/seedu/address/ui/MainWindow.java
    @@ -29,6 +29,7 @@
     import seedu.address.ui.main.ResultDisplay;
     import seedu.address.ui.main.StatusBarFooter;
     import seedu.address.ui.person.AddressBookWindow;
    +import seedu.address.ui.timetable.CompleteWindow;
     import seedu.address.ui.timetable.UnscheduleWindow;
     
     /**
    @@ -48,6 +49,7 @@ public class MainWindow extends UiPart {
         // private PersonListPanel personListPanel;
         private AddressBookWindow addressBookWindow;
         private AddDeliveryJobWindow addDeliveryJobWindow;
    +    private CompleteWindow completeWindow;
         private DeliveryJobListPanel deliveryJobListPanel;
         private ResultDisplay resultDisplay;
         private HelpWindow helpWindow;
    @@ -140,6 +142,7 @@ public MainWindow(Stage primaryStage, Logic logic) {
             helpWindow = new HelpWindow();
             timetableWindow = new TimetableWindow(new Stage(), logic);
             unscheduleWindow = new UnscheduleWindow(new Stage(), logic);
    +        completeWindow = new CompleteWindow(new Stage(), logic);
             reminderListWindow = new ReminderListWindow(new Stage(), logic);
             statsWindow = new StatisticsWindow(new Stage(), logic);
             addressBookWindow = new AddressBookWindow(new Stage(), logic);
    @@ -282,6 +285,20 @@ private void handleUnscheduledTimetable() {
             }
         }
     
    +    /**
    +     * Opends completed jobs window
    +     */
    +    @FXML
    +    private void handleCompletedTimetable() {
    +        if (!completeWindow.isShowing()) {
    +            logger.info("Opened window of completed jobs.");
    +            completeWindow.show();
    +            completeWindow.fillInnerParts();
    +        } else {
    +            completeWindow.focus();
    +        }
    +    }
    +
         /**
          * Opens Reminder List window.
          */
    @@ -384,6 +401,10 @@ private CommandResult executeCommand(String commandText) throws CommandException
                     handleUnscheduledTimetable();
                 }
     
    +            if (commandResult.isShowComplete()) {
    +                handleCompletedTimetable();
    +            }
    +
                 if (commandResult.isShowStatistics()) {
                     handleStats();
                 }
    diff --git a/src/main/java/seedu/address/ui/timetable/CompleteWindow.java b/src/main/java/seedu/address/ui/timetable/CompleteWindow.java
    new file mode 100644
    index 00000000000..771daa64ff6
    --- /dev/null
    +++ b/src/main/java/seedu/address/ui/timetable/CompleteWindow.java
    @@ -0,0 +1,95 @@
    +package seedu.address.ui.timetable;
    +
    +import java.util.logging.Logger;
    +
    +import javafx.fxml.FXML;
    +import javafx.scene.layout.StackPane;
    +import javafx.scene.text.Text;
    +import javafx.stage.Stage;
    +import seedu.address.commons.core.LogsCenter;
    +import seedu.address.logic.Logic;
    +import seedu.address.ui.UiPart;
    +import seedu.address.ui.jobs.DeliveryJobListPanel;
    +import seedu.address.ui.main.ResultDisplay;
    +import seedu.address.ui.main.StatusBarFooter;
    +
    +/**
    + * Displays contact list.
    + */
    +public class CompleteWindow extends UiPart {
    +
    +    private static final String FXML = "CompletedJobWindow.fxml";
    +
    +    private final Logger logger = LogsCenter.getLogger(getClass());
    +    private Stage primaryStage;
    +    private Logic logic;
    +
    +    private ResultDisplay resultDisplay;
    +    private DeliveryJobListPanel jobListPanel;
    +
    +    @FXML
    +    private Text numberOfJobs;
    +    @FXML
    +    private StackPane jobListPanelPlaceholder;
    +    @FXML
    +    private StackPane statusbarPlaceholder;
    +
    +    /**
    +     * Creates a {@code AddressBookWindow} with the given {@code Stage} and {@code Logic}.
    +     */
    +    public CompleteWindow(Stage primaryStage, Logic logic) {
    +        super(FXML, primaryStage);
    +        this.primaryStage = primaryStage;
    +        this.logic = logic;
    +    }
    +
    +
    +    /**
    +     * Show main window.
    +     */
    +    public void show() {
    +        logger.fine("Showing completed job window");
    +        getRoot().show();
    +        getRoot().centerOnScreen();
    +    }
    +
    +    /**
    +     * Returns true if the stats window is currently being shown.
    +     */
    +    public boolean isShowing() {
    +        return getRoot().isShowing();
    +    }
    +
    +    /**
    +     * Hides the stats window.
    +     */
    +    public void hide() {
    +        getRoot().hide();
    +    }
    +
    +    /**
    +     * Focuses on the stats window.
    +     */
    +    public void focus() {
    +        getRoot().requestFocus();
    +    }
    +
    +    /**
    +     * fillInnerParts.
    +     */
    +    public void fillInnerParts() {
    +        jobListPanel = new DeliveryJobListPanel(logic.getCompletedDeliveryJobList());
    +        int jobListLen = logic.getCompletedDeliveryJobList().size();
    +        numberOfJobs.setText(String.format("Total: %d job(s)", jobListLen));
    +
    +        jobListPanelPlaceholder.getChildren().add(jobListPanel.getRoot());
    +        StatusBarFooter statusBarFooter = new StatusBarFooter(logic.getAddressBookFilePath());
    +        statusbarPlaceholder.getChildren().add(statusBarFooter.getRoot());
    +    }
    +
    +    @FXML
    +    private void handleExit() {
    +        primaryStage.hide();
    +    }
    +
    +}
    diff --git a/src/main/java/seedu/address/ui/timetable/UnscheduleWindow.java b/src/main/java/seedu/address/ui/timetable/UnscheduleWindow.java
    index a2093b6eda9..284c9b3d864 100644
    --- a/src/main/java/seedu/address/ui/timetable/UnscheduleWindow.java
    +++ b/src/main/java/seedu/address/ui/timetable/UnscheduleWindow.java
    @@ -1,14 +1,13 @@
     package seedu.address.ui.timetable;
     
    -import java.util.function.Consumer;
     import java.util.logging.Logger;
     
     import javafx.fxml.FXML;
     import javafx.scene.layout.StackPane;
    +import javafx.scene.text.Text;
     import javafx.stage.Stage;
     import seedu.address.commons.core.LogsCenter;
     import seedu.address.logic.Logic;
    -import seedu.address.model.jobs.DeliveryJob;
     import seedu.address.ui.UiPart;
     import seedu.address.ui.jobs.DeliveryJobListPanel;
     import seedu.address.ui.main.ResultDisplay;
    @@ -20,16 +19,17 @@
     public class UnscheduleWindow extends UiPart {
     
         private static final String FXML = "UnscheduleWindow.fxml";
    -
         private final Logger logger = LogsCenter.getLogger(getClass());
     
    -    private final Consumer selectHandler;
    -
         private Stage primaryStage;
         private Logic logic;
     
         private ResultDisplay resultDisplay;
         private DeliveryJobListPanel jobListPanel;
    +
    +    @FXML
    +    private Text numberOfJobs;
    +
         @FXML
         private StackPane jobListPanelPlaceholder;
         @FXML
    @@ -42,8 +42,6 @@ public UnscheduleWindow(Stage primaryStage, Logic logic) {
             super(FXML, primaryStage);
             this.primaryStage = primaryStage;
             this.logic = logic;
    -        this.selectHandler = (job) -> {};
    -
         }
     
     
    @@ -82,6 +80,9 @@ public void focus() {
          */
         public void fillInnerParts() {
             jobListPanel = new DeliveryJobListPanel(logic.getUnscheduledDeliveryJobList());
    +        int jobListLen = logic.getUnscheduledDeliveryJobList().size();
    +        numberOfJobs.setText(String.format("Total: %d job(s)", jobListLen));
    +
             jobListPanelPlaceholder.getChildren().add(jobListPanel.getRoot());
             StatusBarFooter statusBarFooter = new StatusBarFooter(logic.getAddressBookFilePath());
             statusbarPlaceholder.getChildren().add(statusBarFooter.getRoot());
    diff --git a/src/main/resources/view/AddDeliveryJobWindow.fxml b/src/main/resources/view/AddDeliveryJobWindow.fxml
    index a132879d499..c3586a1d200 100644
    --- a/src/main/resources/view/AddDeliveryJobWindow.fxml
    +++ b/src/main/resources/view/AddDeliveryJobWindow.fxml
    @@ -20,7 +20,7 @@
     
     
     
    -
    +
       
         
       
    diff --git a/src/main/resources/view/CompletedJobWindow.fxml b/src/main/resources/view/CompletedJobWindow.fxml
    new file mode 100644
    index 00000000000..ddd35ccf3c2
    --- /dev/null
    +++ b/src/main/resources/view/CompletedJobWindow.fxml
    @@ -0,0 +1,71 @@
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +    
    +        
    +    
    +    
    +        
    +            
    +                
    +                    
    +                        
    +                            
    +                        
    +                    
    +                    
    +                        
    +                            
    +                                
    +                                    
    +                                
    +                                
    +                                    
    +                                        
    +                                            
    +                                        
    +                                        
    +                                            
    +                                        
    +                                    
    +                                    
    +                                        
    +                                            
    +                                        
    +                              
    +                                 
    +                              
    +                                    
    +                                    
    +                                        
    +                                            
    +                                        
    +                                    
    +                                
    +                            
    +                        
    +                    
    +                    
    +                
    +            
    +            
    +                
    +                
    +            
    +        
    +    
    +
    diff --git a/src/main/resources/view/DayDeliveryJobListCard.fxml b/src/main/resources/view/DayDeliveryJobListCard.fxml
    index 6fdd2e942eb..e9f08c622fd 100644
    --- a/src/main/resources/view/DayDeliveryJobListCard.fxml
    +++ b/src/main/resources/view/DayDeliveryJobListCard.fxml
    @@ -9,7 +9,7 @@
     
     
     
    -
    +
         
             
                 
    diff --git a/src/main/resources/view/DeliveryJobDetailPane.fxml b/src/main/resources/view/DeliveryJobDetailPane.fxml
    index 7081f8da84e..b3b32b3884a 100644
    --- a/src/main/resources/view/DeliveryJobDetailPane.fxml
    +++ b/src/main/resources/view/DeliveryJobDetailPane.fxml
    @@ -15,7 +15,7 @@
     
     
     
    -
    +
        
    diff --git a/src/main/resources/view/DeliveryJobListCard.fxml b/src/main/resources/view/DeliveryJobListCard.fxml index 58f0b976ec1..f4c68494602 100644 --- a/src/main/resources/view/DeliveryJobListCard.fxml +++ b/src/main/resources/view/DeliveryJobListCard.fxml @@ -11,7 +11,7 @@ - +
    diff --git a/src/main/resources/view/MainWindow copy.fxml b/src/main/resources/view/MainWindow copy.fxml index 52411882dfe..096d55ed70f 100644 --- a/src/main/resources/view/MainWindow copy.fxml +++ b/src/main/resources/view/MainWindow copy.fxml @@ -15,7 +15,7 @@ - + diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index d49e9adcb5f..52f8db253ae 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -16,7 +16,7 @@ - + @@ -39,6 +39,7 @@ + diff --git a/src/main/resources/view/UnscheduleWindow.fxml b/src/main/resources/view/UnscheduleWindow.fxml index 9387ff624e5..02ef9ca4ea1 100644 --- a/src/main/resources/view/UnscheduleWindow.fxml +++ b/src/main/resources/view/UnscheduleWindow.fxml @@ -10,29 +10,51 @@ + + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/java/seedu/address/logic/commands/AddCommandTest.java b/src/test/java/seedu/address/logic/commands/AddCommandTest.java index 48b9749d7bd..41e7e1e832f 100644 --- a/src/test/java/seedu/address/logic/commands/AddCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/AddCommandTest.java @@ -212,6 +212,11 @@ public ObservableList getUnscheduledDeliveryJobList() { throw new AssertionError("This method should not be called."); } + @Override + public ObservableList getCompletedDeliveryJobList() { + throw new AssertionError("This method should not be called."); + } + @Override public LocalDate getFocusDate() { throw new AssertionError("This method should not be called."); From 0daf1c2f59fad5cfbd35b1dce6230376676ee285 Mon Sep 17 00:00:00 2001 From: ChinJunAn Date: Tue, 28 Mar 2023 20:00:21 +0800 Subject: [PATCH 207/470] Correct test case --- .../java/seedu/address/logic/commands/AddCommandTest.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/test/java/seedu/address/logic/commands/AddCommandTest.java b/src/test/java/seedu/address/logic/commands/AddCommandTest.java index 6dccede3be8..a86292e29d9 100644 --- a/src/test/java/seedu/address/logic/commands/AddCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/AddCommandTest.java @@ -263,6 +263,11 @@ public ObservableList getReminderList() { throw new AssertionError("This method should not be called."); } + @Override + public void setHasShown(int i, boolean b) { + throw new AssertionError("This method should not be called."); + } + @Override public Optional getPersonById(String id) { // TODO Auto-generated method stub From af4b9470407252598d1d061be315dc11036e5a99 Mon Sep 17 00:00:00 2001 From: ChinJunAn Date: Tue, 28 Mar 2023 20:23:35 +0800 Subject: [PATCH 208/470] Clean up code --- .../java/seedu/address/ui/notification/NotificationManager.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/seedu/address/ui/notification/NotificationManager.java b/src/main/java/seedu/address/ui/notification/NotificationManager.java index 1a09bd69381..71fde92945d 100644 --- a/src/main/java/seedu/address/ui/notification/NotificationManager.java +++ b/src/main/java/seedu/address/ui/notification/NotificationManager.java @@ -158,7 +158,6 @@ public void checkNextSchedule() { jobList = deliveryList.get(0); } if (jobList != null) { - System.out.println(jobList.size()); for (DeliveryJob d: jobList) { String des = d.toString(); show("Upcoming Job(s)!", des, Pos.TOP_LEFT); From 9beff49b33ce6e9b1663d1655d4b16b935d7f382 Mon Sep 17 00:00:00 2001 From: c0j0s Date: Tue, 28 Mar 2023 23:29:17 +0800 Subject: [PATCH 209/470] Refine optional job schedule validation logic fix issue with allowing multiple addressbook windows. fix #145, fix #144, add null handler for invalid datafile. close #146, add description to choice box. --- src/main/java/seedu/address/MainApp.java | 10 +- .../commands/jobs/EditDeliveryJobCommand.java | 57 +++- .../seedu/address/model/jobs/DeliveryJob.java | 15 +- .../address/ui/jobs/AddDeliveryJobWindow.java | 309 ++++++++++++------ .../ui/jobs/DeliveryJobDetailPane.java | 7 +- .../resources/view/AddDeliveryJobWindow.fxml | 11 +- .../view/DayDeliveryJobListCard.fxml | 2 +- .../resources/view/DeliveryJobDetailPane.fxml | 2 +- .../resources/view/DeliveryJobListCard.fxml | 2 +- src/main/resources/view/MainWindow copy.fxml | 2 +- src/main/resources/view/MainWindow.fxml | 2 +- src/main/resources/view/UnscheduleWindow.fxml | 2 +- 12 files changed, 309 insertions(+), 112 deletions(-) diff --git a/src/main/java/seedu/address/MainApp.java b/src/main/java/seedu/address/MainApp.java index 3a57cbefaaf..a20d6e54f8c 100644 --- a/src/main/java/seedu/address/MainApp.java +++ b/src/main/java/seedu/address/MainApp.java @@ -109,16 +109,18 @@ private Model initModelManager(Storage storage, ReadOnlyUserPrefs userPrefs) { deliveryJobSystemOptional = storage.readDeliveryJobSystem(); if (!deliveryJobSystemOptional.isPresent()) { - logger.info("[DS] Data file not found. Will be starting with a sample AddressBook"); + logger.info("[DS] Data file not found. Will be starting with a sample DeliveryJobSystem"); } initialDeliveryJobSystemData = deliveryJobSystemOptional .orElseGet(SampleDataUtil::getSampleDeliveryJobSystem); - } catch (DataConversionException e) { - logger.warning("[DS] Data file not in the correct format. Will be starting with an empty AddressBook"); + } catch (NullPointerException | DataConversionException e) { + logger.warning( + "[DS] Data file not in the correct format. Will be starting with an empty DeliveryJobSystem"); initialDeliveryJobSystemData = new DeliveryJobSystem(); } catch (IOException e) { - logger.warning("[DS] Problem while reading from the file. Will be starting with an empty AddressBook"); + logger.warning( + "[DS] Problem while reading from the file. Will be starting with an empty DeliveryJobSystem"); initialDeliveryJobSystemData = new DeliveryJobSystem(); } diff --git a/src/main/java/seedu/address/logic/commands/jobs/EditDeliveryJobCommand.java b/src/main/java/seedu/address/logic/commands/jobs/EditDeliveryJobCommand.java index eec6ed78039..8d29baf0350 100644 --- a/src/main/java/seedu/address/logic/commands/jobs/EditDeliveryJobCommand.java +++ b/src/main/java/seedu/address/logic/commands/jobs/EditDeliveryJobCommand.java @@ -101,7 +101,11 @@ private static DeliveryJob createEditedDeliveryJob(DeliveryJob deliveryJobToEdit toEdit.deliveryDate(val.date); }, () -> { deliveryJobToEdit.getDeliveryDate().ifPresent(val -> { - toEdit.deliveryDate(val.date); + editjobDescriptor.ifClearDeliveryDate(()-> { + toEdit.deliveryDate(DeliveryDate.placeholder().date); + }, () -> { + toEdit.deliveryDate(val.date); + }); }); }); @@ -109,7 +113,11 @@ private static DeliveryJob createEditedDeliveryJob(DeliveryJob deliveryJobToEdit toEdit.deliverySlot(val.value); }, () -> { deliveryJobToEdit.getDeliverySlot().ifPresent(val -> { - toEdit.deliverySlot(val.value); + editjobDescriptor.ifClearDeliverySlot(()-> { + toEdit.clearDeliverySlot(); + }, () -> { + toEdit.deliverySlot(val.value); + }); }); }); @@ -207,6 +215,9 @@ public static class EditDeliveryJobDescriptor { private boolean isDelivered; private String description; + private boolean clearDate = false; + private boolean clearSlot = false; + public EditDeliveryJobDescriptor() { } @@ -223,6 +234,8 @@ public EditDeliveryJobDescriptor(EditDeliveryJobDescriptor toCopy) { setEarning(toCopy.earning); setDelivered(toCopy.isDelivered); setDescription(toCopy.description); + clearDate = toCopy.clearDate; + clearSlot = toCopy.clearSlot; } /** @@ -319,5 +332,45 @@ && getDeliverySlot().equals(e.getDeliverySlot()) && getEarning().equals(e.getEarning()) && getDelivered().equals(e.getDelivered()); } + + /** + * Sets the clear slot state. + */ + public void clearDeliverySlot() { + clearSlot = true; + } + + /** + * Sets the clear date state. + */ + public void clearDeliveryDate() { + clearDate = true; + } + + /** + * Handles slot clearing. + * @param s + * @param f + */ + public void ifClearDeliverySlot(Runnable s, Runnable f) { + if (clearSlot) { + s.run(); + } else { + f.run(); + } + } + + /** + * Handles date clearing. + * @param s + * @param f + */ + public void ifClearDeliveryDate(Runnable s, Runnable f) { + if (clearDate) { + s.run(); + } else { + f.run(); + } + } } } diff --git a/src/main/java/seedu/address/model/jobs/DeliveryJob.java b/src/main/java/seedu/address/model/jobs/DeliveryJob.java index 573ddd94d7e..b57138ee14c 100644 --- a/src/main/java/seedu/address/model/jobs/DeliveryJob.java +++ b/src/main/java/seedu/address/model/jobs/DeliveryJob.java @@ -1,6 +1,6 @@ package seedu.address.model.jobs; -import static java.util.Objects.requireNonNull; +import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; import java.time.LocalDate; import java.util.NoSuchElementException; @@ -64,6 +64,7 @@ public DeliveryJob(String jobId, String recipient, String sender, Optional deliverySlot, Optional earning, Boolean isDelivered, String description) { + requireAllNonNull(jobId, recipient, sender, deliveryDate, deliverySlot, earning, isDelivered, description); this.jobId = jobId; this.recipient = recipient; this.sender = sender; @@ -75,7 +76,7 @@ public DeliveryJob(String jobId, String recipient, String sender, Optional { private static final String FXML = "AddDeliveryJobWindow.fxml"; private static final String EDIT_TITLE = "Edit Delivery Job"; - private static final String EDIT_BUTTON = "Edit Job"; private final Optional toEdit; private final Logger logger = LogsCenter.getLogger(getClass()); @@ -45,6 +50,7 @@ public class AddDeliveryJobWindow extends UiPart { private Stage primaryStage; private Logic logic; private Runnable completeEditCallback; + private AddressBookWindow addressBookWindow; @FXML private TextField inputSender; @@ -61,8 +67,70 @@ public class AddDeliveryJobWindow extends UiPart { @FXML private Button createButton; @FXML + private Button editButton; + @FXML private VBox outputErrorPlaceholder; + // adapted from: + // https://stackoverflow.com/questions/26831978/javafx-datepicker-getvalue-in-a-specific-format + private StringConverter deliveryDateConverter = new StringConverter() { + private String pattern = "yyyy-MM-dd"; + private DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern(pattern); + + { + inputDeliveryDate.setPromptText(pattern.toLowerCase()); + } + + @Override + public String toString(LocalDate date) { + if (date != null) { + return dateFormatter.format(date); + } else { + return ""; + } + } + + @Override + public LocalDate fromString(String string) { + if (string != null && !string.isEmpty()) { + return LocalDate.parse(string, dateFormatter); + } else { + return null; + } + } + }; + + // Adapted from + // https://stackoverflow.com/questions/7555564/what-is-the-recommended-way-to-make-a-numeric-textfield-in-javafx + private UnaryOperator earningValidator = change -> { + String text = change.getText(); + if (text.isEmpty() || text.equals(".")) { + return change; + } + if (text.matches(Earning.VALIDATION_REGEX) || text.matches(Earning.VALIDATION_REGEX_DECI)) { + return change; + } + return null; + }; + + private ChangeListener emptyDateHandler = new ChangeListener() { + @Override + public void changed(final ObservableValue observable, + final Boolean oldValue, final Boolean newValue) { + if (newValue) { + inputDeliveryDate.setValue(null); + } + } + }; + + private ObservableList deliverySlotOptions = FXCollections.observableArrayList( + "", + new DeliverySlot("1").getDescription(), + new DeliverySlot("2").getDescription(), + new DeliverySlot("3").getDescription(), + new DeliverySlot("4").getDescription(), + new DeliverySlot("5").getDescription()); + /** * Create mode. */ @@ -88,50 +156,49 @@ public AddDeliveryJobWindow(Stage primaryStage, Logic logic, DeliveryJob job, Ru * fillInnerParts. */ public void fillInnerParts() { - inputDeliverySlot.setItems(FXCollections.observableArrayList("1", "2", "3", "4", "5")); - - // Adapted from - // https://stackoverflow.com/questions/7555564/what-is-the-recommended-way-to-make-a-numeric-textfield-in-javafx - UnaryOperator filter = change -> { - String text = change.getText(); - if (text.isEmpty() || text.equals(".")) { - return change; - } - if (text.matches(Earning.VALIDATION_REGEX) || text.matches(Earning.VALIDATION_REGEX_DECI)) { - return change; - } - return null; - }; - TextFormatter textFormatter = new TextFormatter<>(filter); - inputEarning.setTextFormatter(textFormatter); + inputDeliverySlot.setItems(deliverySlotOptions); + inputEarning.setTextFormatter(new TextFormatter(earningValidator)); + inputDeliveryDate.getEditor().textProperty().isEmpty().addListener(emptyDateHandler); + inputDeliveryDate.setConverter(deliveryDateConverter); - fillDetails(); + toEdit.ifPresent(job -> { + fillDetails(job); + primaryStage.setTitle(EDIT_TITLE); + createButton.setVisible(false); + editButton.setVisible(true); + }); } - void fillDetails() { - toEdit.ifPresent(job -> { - inputSender.setText(job.getSenderId()); - inputRecipient.setText(job.getRecipientId()); + private void fillDetails(DeliveryJob job) { + inputSender.setText(job.getSenderId()); + inputRecipient.setText(job.getRecipientId()); - job.getDeliveryDate().ifPresent(val -> { - inputDeliveryDate.setValue(val.getDate()); - }); - job.getDeliverySlot().ifPresent(val -> { - inputDeliverySlot.getSelectionModel().select(val.value); - }); - job.getEarning().ifPresent(val -> { - inputEarning.setText(val.value); - }); - inputDescription.setText(job.getDescription()); - primaryStage.setTitle(EDIT_TITLE); - createButton.setText(EDIT_BUTTON); + job.getDeliveryDate().ifPresentOrElse(val -> { + inputDeliveryDate.setValue(val.getDate()); + }, () -> { + inputDeliveryDate.getEditor().setText(""); + }); + + job.getDeliverySlot().ifPresentOrElse(val -> { + inputDeliverySlot.getSelectionModel().select(val.getSlot()); + }, () -> { + inputDeliverySlot.getSelectionModel().select(0); }); + + job.getEarning().ifPresent(val -> { + inputEarning.setText(val.value); + }); + + inputDescription.setText(job.getDescription()); } @FXML private void viewSenderAddressBook() { logger.info("[Event] viewSenderAddressBook"); - AddressBookWindow addressBookWindow = new AddressBookWindow(new Stage(), logic, person -> { + if (addressBookWindow != null) { + addressBookWindow.getRoot().close(); + } + addressBookWindow = new AddressBookWindow(new Stage(), logic, person -> { inputSender.setText(person.getPersonId()); }); addressBookWindow.fillInnerParts(); @@ -141,13 +208,34 @@ private void viewSenderAddressBook() { @FXML private void viewRecipientAddressBook() { logger.info("[Event] viewRecipientAddressBook"); - AddressBookWindow addressBookWindow = new AddressBookWindow(new Stage(), logic, person -> { + if (addressBookWindow != null) { + addressBookWindow.getRoot().close(); + } + addressBookWindow = new AddressBookWindow(new Stage(), logic, person -> { inputRecipient.setText(person.getPersonId()); }); addressBookWindow.fillInnerParts(); addressBookWindow.show(); } + @FXML + private void editDeliveryJob() { + logger.info("[Event] editDeliveryJob"); + clearError(); + if (!validateFields()) { + return; + } + + try { + EditDeliveryJobCommand.EditDeliveryJobDescriptor des = prepareChange(); + logic.execute(new EditDeliveryJobCommand(des)); + completeEditCallback.run(); + getRoot().close(); + } catch (ParseException | CommandException e) { + logger.warning("[Event] editDeliveryJob" + e.getMessage()); + } + } + @FXML private void createDeliveryJob() { logger.info("[Event] createDeliveryJob"); @@ -157,27 +245,28 @@ private void createDeliveryJob() { } try { - if (toEdit.isPresent()) { - EditDeliveryJobCommand.EditDeliveryJobDescriptor des = prepareChange(); - logic.execute(new EditDeliveryJobCommand(des)); - completeEditCallback.run(); - getRoot().close(); + DeliveryJob job; + + if (inputDeliverySlot.getValue() == null) { + // if date and slot is empty + job = new DeliveryJob( + inputSender.getText(), + inputRecipient.getText(), + inputEarning.getText(), + inputDescription.getText()); } else { - DeliveryJob job; - - if (inputDeliverySlot.getValue() == null) { - job = new DeliveryJob(inputSender.getText(), inputRecipient.getText(), - inputEarning.getText(), inputDescription.getText()); - } else { - job = new DeliveryJob(inputSender.getText(), inputRecipient.getText(), - inputDeliveryDate.getValue().format(DeliveryDate.VALID_FORMAT), - inputDeliverySlot.getValue(), - inputEarning.getText(), inputDescription.getText()); - } - - logic.execute(new AddDeliveryJobCommand(job)); - getRoot().close(); + // if date and slot has value + job = new DeliveryJob( + inputSender.getText(), + inputRecipient.getText(), + inputDeliveryDate.getValue().format(DeliveryDate.VALID_FORMAT), + Integer.toString(inputDeliverySlot.getSelectionModel().getSelectedIndex()), + inputEarning.getText(), + inputDescription.getText()); } + + logic.execute(new AddDeliveryJobCommand(job)); + getRoot().close(); } catch (ParseException | CommandException e) { logger.warning("[Event] createDeliveryJob" + e.getMessage()); } @@ -205,20 +294,41 @@ private EditDeliveryJobCommand.EditDeliveryJobDescriptor prepareChange() { } }); - if (inputDeliveryDate.getValue() != null) { - job.getDeliveryDate().ifPresent(val -> { - if (!inputDeliveryDate.getValue().format(DeliveryDate.VALID_FORMAT).equals(val.date)) { - des.setDeliveryDate( - new DeliveryDate(inputDeliveryDate.getValue().format(DeliveryDate.VALID_FORMAT))); + if (!inputDeliveryDate.getEditor().getText().isEmpty()) { + // date field has value + job.getDeliveryDate().ifPresentOrElse(val -> { + // date is different from existing value, overwrite. + if (!val.date.equals(inputDeliveryDate.getEditor().getText())) { + des.setDeliveryDate(new DeliveryDate(inputDeliveryDate.getEditor().getText())); } + }, () -> { + // new date value + des.setDeliveryDate(new DeliveryDate(inputDeliveryDate.getEditor().getText())); + }); + } else { + // date field is empty to overwrite existing value. + job.getDeliveryDate().ifPresent(val -> { + des.clearDeliveryDate(); }); } - if (inputDeliverySlot.getValue() != null) { - job.getDeliverySlot().ifPresent(val -> { + if (!inputDeliverySlot.getValue().isEmpty()) { + // slot field has value + job.getDeliverySlot().ifPresentOrElse(val -> { + // slot is different from existing value, overwrite. if (!inputDeliverySlot.getValue().equals(val.value)) { - des.setDeliverySlot(new DeliverySlot(inputDeliverySlot.getValue())); + des.setDeliverySlot(new DeliverySlot( + Integer.toString(inputDeliverySlot.getSelectionModel().getSelectedIndex()))); } + }, () -> { + // new slot value + des.setDeliverySlot(new DeliverySlot( + Integer.toString(inputDeliverySlot.getSelectionModel().getSelectedIndex()))); + }); + } else { + // slot field is empty to overwrite existing value. + job.getDeliverySlot().ifPresent(val -> { + des.clearDeliverySlot(); }); } @@ -256,48 +366,61 @@ boolean validateFields() { } } - if (inputEarning.getText().isEmpty()) { - inputEarning.getStyleClass().add("error-input"); - outputError("Earning cannot be empty."); - flag = false; - } else { - if (!inputEarning.getText().matches(Earning.VALIDATION_REGEX) - && !inputEarning.getText().matches(Earning.VALIDATION_REGEX_DECI)) { - inputEarning.getStyleClass().add("error-input"); - outputError("Invalid earning."); - flag = false; + // any has value + if (inputDeliveryDate.getValue() != null || inputDeliverySlot.getValue() != null) { + boolean dateFilled = false; + boolean slotFilled = false; + + // date filled + if (inputDeliveryDate.getValue() != null && !inputDeliveryDate.getEditor().getText().isBlank()) { + dateFilled = true; } - } - if (inputDeliveryDate.getValue() != null || inputDeliverySlot.getValue() != null) { - // Todo: refine rules - try { - if (!DeliveryDate.isValidDate(inputDeliveryDate.getValue().format(DeliveryDate.VALID_FORMAT))) { - inputDeliveryDate.getStyleClass().add("error-input"); - outputError("Invalid schedule date."); + // slot filled + if (inputDeliverySlot.getValue() != null && !inputDeliverySlot.getValue().isBlank()) { + slotFilled = true; + } + + if (dateFilled || slotFilled) { + // date empty + if (!dateFilled) { + showDateError(); flag = false; + } else { + // date filled, check format + if (!DeliveryDate.isValidDate(inputDeliveryDate.getEditor().getText())) { + showDateError(); + flag = false; + } } - } catch (Exception e) { - inputDeliveryDate.getStyleClass().add("error-input"); - outputError("Invalid schedule date."); - flag = false; - } - try { - if (inputDeliverySlot.getValue().isEmpty()) { - inputDeliverySlot.getStyleClass().add("error-input"); - outputError("Invalid schedule slot."); + + // slot empty + if (!slotFilled) { + showSlotError(); flag = false; + } else { + // slot might have value, check field + if (inputDeliverySlot.getValue().isBlank()) { + showSlotError(); + flag = false; + } } - } catch (Exception e) { - inputDeliverySlot.getStyleClass().add("error-input"); - outputError("Invalid schedule slot."); - flag = false; } } return flag; } + private void showDateError() { + inputDeliveryDate.getStyleClass().add("error-input"); + outputError("Invalid schedule date."); + } + + private void showSlotError() { + inputDeliverySlot.getStyleClass().add("error-input"); + outputError("Invalid schedule slot."); + } + private void outputError(String msg) { Label err = new Label(msg); err.getStyleClass().add("error"); diff --git a/src/main/java/seedu/address/ui/jobs/DeliveryJobDetailPane.java b/src/main/java/seedu/address/ui/jobs/DeliveryJobDetailPane.java index bf7742b107c..e26f2c98b23 100644 --- a/src/main/java/seedu/address/ui/jobs/DeliveryJobDetailPane.java +++ b/src/main/java/seedu/address/ui/jobs/DeliveryJobDetailPane.java @@ -11,6 +11,7 @@ import javafx.scene.layout.StackPane; import seedu.address.commons.core.LogsCenter; import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.jobs.DeliveryDate; import seedu.address.model.jobs.DeliveryJob; import seedu.address.ui.UiPart; import seedu.address.ui.person.PersonCard; @@ -81,7 +82,11 @@ public void fillInnerParts(ReadOnlyAddressBook ab) { label.setText(job.getJobId()); job.getDeliveryDate().ifPresentOrElse(val -> { - deliveryTimeDate.setText(val.date); + if (val.date.equals(DeliveryDate.placeholder().toString())) { + deliveryTimeDate.setText("N.A"); + } else { + deliveryTimeDate.setText(val.date); + } }, () -> { deliveryTimeDate.setText("N.A"); }); diff --git a/src/main/resources/view/AddDeliveryJobWindow.fxml b/src/main/resources/view/AddDeliveryJobWindow.fxml index a132879d499..5982d7d5f3a 100644 --- a/src/main/resources/view/AddDeliveryJobWindow.fxml +++ b/src/main/resources/view/AddDeliveryJobWindow.fxml @@ -20,7 +20,7 @@ - + @@ -174,9 +174,12 @@ - - - - + + - - + + + + + + @@ -59,27 +61,26 @@ - - + + - - + - - + - + - - + diff --git a/src/main/resources/view/DeliveryJobListPanel.fxml b/src/main/resources/view/DeliveryJobListPanel.fxml index 7fdba653047..56c750ab24f 100644 --- a/src/main/resources/view/DeliveryJobListPanel.fxml +++ b/src/main/resources/view/DeliveryJobListPanel.fxml @@ -1,8 +1,51 @@ + + + + + + + + - - - + +
    + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/src/main/resources/view/MainWindow copy.fxml b/src/main/resources/view/MainWindow copy.fxml deleted file mode 100644 index 096d55ed70f..00000000000 --- a/src/main/resources/view/MainWindow copy.fxml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/test/java/seedu/address/logic/commands/AddCommandTest.java b/src/test/java/seedu/address/logic/commands/AddCommandTest.java index 9f984a998ad..2449fbb60ef 100644 --- a/src/test/java/seedu/address/logic/commands/AddCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/AddCommandTest.java @@ -17,6 +17,7 @@ import org.junit.jupiter.api.Test; +import javafx.beans.value.ObservableValue; import javafx.collections.ObservableList; import seedu.address.commons.core.GuiSettings; import seedu.address.logic.commands.exceptions.CommandException; @@ -301,6 +302,18 @@ public ObservableList getFilteredDeliveryJobList() { throw new UnsupportedOperationException("Unimplemented method 'getFilteredDeliveryJobList'"); } + @Override + public void updateSortedDeliveryJobListByComparator(Comparator sorter) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'updateSortedDeliveryJobListByComparator'"); + } + + @Override + public ObservableList getSortedDeliveryJobListByComparator() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'getSortedDeliveryJobListByComparator'"); + } + } /** From 82b3eac6386ff5555c1856893e00a91cc4ca587a Mon Sep 17 00:00:00 2001 From: c0j0s Date: Wed, 29 Mar 2023 05:31:12 +0800 Subject: [PATCH 218/470] Fix check style issue --- src/main/resources/view/AddDeliveryJobWindow.fxml | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/resources/view/AddDeliveryJobWindow.fxml b/src/main/resources/view/AddDeliveryJobWindow.fxml index 54f3a4821cf..f215085fb88 100644 --- a/src/main/resources/view/AddDeliveryJobWindow.fxml +++ b/src/main/resources/view/AddDeliveryJobWindow.fxml @@ -30,7 +30,6 @@ -
    From 1654df670d6691ef89c380e0e881ec5702c16392 Mon Sep 17 00:00:00 2001 From: c0j0s Date: Wed, 29 Mar 2023 13:56:01 +0800 Subject: [PATCH 224/470] Hide sort/filter options when no handler is set --- .../java/seedu/address/ui/jobs/DeliveryJobListPanel.java | 8 ++++++++ src/main/resources/view/DeliveryJobListPanel.fxml | 8 ++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/seedu/address/ui/jobs/DeliveryJobListPanel.java b/src/main/java/seedu/address/ui/jobs/DeliveryJobListPanel.java index 88d2d79d84d..a2c308c559f 100644 --- a/src/main/java/seedu/address/ui/jobs/DeliveryJobListPanel.java +++ b/src/main/java/seedu/address/ui/jobs/DeliveryJobListPanel.java @@ -13,6 +13,8 @@ import javafx.scene.control.Label; import javafx.scene.control.ListCell; import javafx.scene.control.ListView; +import javafx.scene.control.Menu; +import javafx.scene.control.MenuBar; import javafx.scene.control.RadioMenuItem; import javafx.scene.control.ToggleGroup; import javafx.scene.input.Clipboard; @@ -42,6 +44,10 @@ public class DeliveryJobListPanel extends UiPart { @FXML private ListView deliveryJobListView; @FXML + private Menu orderOption; + @FXML + private Menu filterOption; + @FXML private Label orderIndicator; @FXML private RadioMenuItem filterAll; @@ -178,9 +184,11 @@ public void refresh() { public void setOrderByHandler(BiFunction> handler) { // orderOption = Optional.of(handler); sortHandler = Optional.of(handler); + orderOption.setVisible(true); } public void setFilterHandler(Consumer con) { + filterOption.setVisible(true); filterDelivered.setToggleGroup(toggleGroup); filterPending.setToggleGroup(toggleGroup); filterAll.setToggleGroup(toggleGroup); diff --git a/src/main/resources/view/DeliveryJobListPanel.fxml b/src/main/resources/view/DeliveryJobListPanel.fxml index 7e3e20c8022..94c667c5c8a 100644 --- a/src/main/resources/view/DeliveryJobListPanel.fxml +++ b/src/main/resources/view/DeliveryJobListPanel.fxml @@ -12,7 +12,7 @@ - +
    @@ -23,9 +23,9 @@
    - + - + @@ -39,7 +39,7 @@ - + From 96ffde169a19fb1559499ce3796feddc9139cb6c Mon Sep 17 00:00:00 2001 From: c0j0s Date: Wed, 29 Mar 2023 13:56:35 +0800 Subject: [PATCH 225/470] Fix check style --- src/main/java/seedu/address/ui/jobs/DeliveryJobListPanel.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/seedu/address/ui/jobs/DeliveryJobListPanel.java b/src/main/java/seedu/address/ui/jobs/DeliveryJobListPanel.java index a2c308c559f..687567d240a 100644 --- a/src/main/java/seedu/address/ui/jobs/DeliveryJobListPanel.java +++ b/src/main/java/seedu/address/ui/jobs/DeliveryJobListPanel.java @@ -14,7 +14,6 @@ import javafx.scene.control.ListCell; import javafx.scene.control.ListView; import javafx.scene.control.Menu; -import javafx.scene.control.MenuBar; import javafx.scene.control.RadioMenuItem; import javafx.scene.control.ToggleGroup; import javafx.scene.input.Clipboard; From 40475c65a0fb4e4bc0b557882cdca906f4ae9d79 Mon Sep 17 00:00:00 2001 From: dohaduong Date: Wed, 29 Mar 2023 14:18:37 +0800 Subject: [PATCH 226/470] Update JavaDoc comment Some functions are missing JavaDoc comments. Adding JavaDoc comment will help to improve Code Quality. Let's add and update JavaDoc comments, if necessary. --- src/main/java/seedu/address/logic/Logic.java | 51 ++++++++++------ .../address/logic/commands/CommandResult.java | 26 ++++++++ .../commands/jobs/AddDeliveryJobCommand.java | 2 +- .../jobs/CompleteDeliveryJobCommand.java | 2 +- .../jobs/DeleteDeliveryJobCommand.java | 2 +- .../commands/jobs/EditDeliveryJobCommand.java | 2 +- .../commands/jobs/FindDeliveryJobCommand.java | 2 +- .../commands/jobs/ListDeliveryJobCommand.java | 2 +- .../commands/timetable/TimetableCommand.java | 2 +- .../timetable/TimetableDateCommand.java | 2 +- .../jobs/AddDeliveryJobCommandParser.java | 2 +- .../CompleteDeliveryJobCommandParser.java | 2 +- .../timetable/TimetableDateCommandParser.java | 2 +- .../parser/timetable/TimetableParser.java | 2 +- src/main/java/seedu/address/model/Model.java | 10 +++- .../seedu/address/model/jobs/DeliveryJob.java | 30 ++++++++++ .../DeliveryJobContainsKeywordsPredicate.java | 2 +- .../address/model/jobs/DeliveryList.java | 4 ++ .../address/model/jobs/DeliverySlot.java | 2 +- .../seedu/address/model/jobs/Earning.java | 6 ++ .../model/jobs/UniqueDeliveryList.java | 16 ++--- .../model/jobs/sorters/SortbyTimeAndEarn.java | 20 ++++++- .../java/seedu/address/ui/MainWindow.java | 18 ++++-- .../seedu/address/ui/TimetableWindow.java | 20 ++----- .../address/ui/jobs/DayDeliveryJobCard.java | 5 +- .../address/ui/jobs/DeliveryJobCard.java | 5 +- .../address/ui/jobs/DeliveryJobListPanel.java | 5 +- .../ui/notification/NotificationManager.java | 50 ++++++++-------- .../address/ui/timetable/CompleteWindow.java | 24 ++++---- .../address/ui/timetable/DayJobListPanel.java | 6 +- .../address/ui/timetable/DayOfMonthPanel.java | 9 +-- .../address/ui/timetable/DayOfWeekPanel.java | 8 +-- .../ui/timetable/TimetableDetailPanel.java | 7 ++- .../ui/timetable/UnscheduleWindow.java | 20 ++++--- .../UnscheduledDeliveryJobListPanel.java | 60 +++++++++++++++++++ .../ui/timetable/WeekJobListPanel.java | 20 ++++++- .../view/UnscheduledDeliveryJobListPanel.fxml | 8 +++ 37 files changed, 326 insertions(+), 130 deletions(-) create mode 100644 src/main/java/seedu/address/ui/timetable/UnscheduledDeliveryJobListPanel.java create mode 100644 src/main/resources/view/UnscheduledDeliveryJobListPanel.fxml diff --git a/src/main/java/seedu/address/logic/Logic.java b/src/main/java/seedu/address/logic/Logic.java index fc5c3ebc644..9a533824e4f 100644 --- a/src/main/java/seedu/address/logic/Logic.java +++ b/src/main/java/seedu/address/logic/Logic.java @@ -45,6 +45,8 @@ public interface Logic { CommandResult executeTimetableCommand(String commandText) throws CommandException, ParseException; + // ADDRESS BOOK SYSTEM =================================== + /** * Returns the AddressBook. * @@ -57,6 +59,13 @@ public interface Logic { */ ObservableList getFilteredPersonList(); + /** + * Returns the user prefs' address book file path. + */ + Path getAddressBookFilePath(); + + // DELIVERY JOB SYSTEM =================================== + /** * Returns an unmodifiable view of the filtered list of delivery jobs */ @@ -68,12 +77,12 @@ public interface Logic { ObservableList getSortedDeliveryJobList(); /** - * Returns an unmodifiable view of the filtered list of persons + * Returns an unmodifiable view of the filtered list of reminders */ ObservableList getReminderList(); /** - * Returns a map of delivery job list in the week + * Returns delivery job list in the week sorted into day */ Map getWeekDeliveryJobList(); @@ -83,38 +92,30 @@ public interface Logic { * @return job list in the specific day */ DeliveryList getDayofWeekJob(int dayOfWeek); + /** - * Returns an unmodifiable view of the list of unscheduled delivery jobs + * Returns an unmodifiable view of the list of unscheduled delivery jobs, + * sorted by time and earning */ ObservableList getUnscheduledDeliveryJobList(); /** - * Returns an unmodifiable view of the list of completed delivery jobs + * Returns an unmodifiable view of the list of completed delivery jobs, + * sorted by time and earning */ ObservableList getCompletedDeliveryJobList(); - double getTotalEarnings(ObservableList list); - /** - * Returns the user prefs' address book file path. + * Gets total earning of all jobs in job list + * @param list */ - Path getAddressBookFilePath(); + double getTotalEarnings(ObservableList list); /** * Returns the user prefs' delivery job system file path. */ Path getDeliveryJobSystemFilePath(); - /** - * Returns the user prefs' GUI settings. - */ - GuiSettings getGuiSettings(); - - /** - * Sets the user prefs' GUI settings. - */ - void setGuiSettings(GuiSettings guiSettings); - /** * Set focus date * @param focusDate @@ -150,9 +151,21 @@ public interface Logic { */ LocalDate getFocusDate(); + // MODEL =================================== + /** - * Get model + * Gets model * @return model */ Model getModel(); + + /** + * Returns the user prefs' GUI settings. + */ + GuiSettings getGuiSettings(); + + /** + * Sets the user prefs' GUI settings. + */ + void setGuiSettings(GuiSettings guiSettings); } diff --git a/src/main/java/seedu/address/logic/commands/CommandResult.java b/src/main/java/seedu/address/logic/commands/CommandResult.java index cfd2664380c..1cbe3fc90e8 100644 --- a/src/main/java/seedu/address/logic/commands/CommandResult.java +++ b/src/main/java/seedu/address/logic/commands/CommandResult.java @@ -94,33 +94,59 @@ public CommandResult(String feedbackToUser) { this(feedbackToUser, false, false, false, false, false); } + /** + * Returns feedback to user + */ public String getFeedbackToUser() { return feedbackToUser; } + /** + * Checks if help window is shown + */ public boolean isShowHelp() { return showHelp; } + /** + * Checks if timetable window is shown + */ public boolean isShowTimetable() { return showTimetable; } + /** + * Checks if unscheduled job window is shown + */ public boolean isShowUnschedule() { return showUnschedule; } + + /** + * Checks if compelted job window is shown + */ public boolean isShowComplete() { return showComplete; } + + /** + * Checks if stats window is shown + */ public boolean isShowStatistics() { return showStatistics; } + /** + * Checks if reminder window is shown + */ public boolean isShowReminderList() { return showReminderList; } + /** + * Checks if main window is exited + */ public boolean isExit() { return exit; } diff --git a/src/main/java/seedu/address/logic/commands/jobs/AddDeliveryJobCommand.java b/src/main/java/seedu/address/logic/commands/jobs/AddDeliveryJobCommand.java index 9fde214d4a5..c2a7372e4e2 100644 --- a/src/main/java/seedu/address/logic/commands/jobs/AddDeliveryJobCommand.java +++ b/src/main/java/seedu/address/logic/commands/jobs/AddDeliveryJobCommand.java @@ -14,7 +14,7 @@ import seedu.address.model.jobs.DeliveryJob; /** - * AddDeliveryJobCommand. + * Adds a delivery job to the delivery job system. */ public class AddDeliveryJobCommand extends Command { diff --git a/src/main/java/seedu/address/logic/commands/jobs/CompleteDeliveryJobCommand.java b/src/main/java/seedu/address/logic/commands/jobs/CompleteDeliveryJobCommand.java index d24e94ee109..1fb71a5e5c4 100644 --- a/src/main/java/seedu/address/logic/commands/jobs/CompleteDeliveryJobCommand.java +++ b/src/main/java/seedu/address/logic/commands/jobs/CompleteDeliveryJobCommand.java @@ -12,7 +12,7 @@ import seedu.address.model.jobs.DeliveryJob; /** - * Lists all persons in the address book to the user. + * Sets delivered status for jobs in the delivery job system. */ public class CompleteDeliveryJobCommand extends Command { diff --git a/src/main/java/seedu/address/logic/commands/jobs/DeleteDeliveryJobCommand.java b/src/main/java/seedu/address/logic/commands/jobs/DeleteDeliveryJobCommand.java index 3d758793849..2525448cb63 100644 --- a/src/main/java/seedu/address/logic/commands/jobs/DeleteDeliveryJobCommand.java +++ b/src/main/java/seedu/address/logic/commands/jobs/DeleteDeliveryJobCommand.java @@ -13,7 +13,7 @@ import seedu.address.model.jobs.DeliveryJob; /** - * Deletes a person identified using it's displayed index from the address book. + * Deletes a job identified using it's displayed index from the job system. */ public class DeleteDeliveryJobCommand extends Command { diff --git a/src/main/java/seedu/address/logic/commands/jobs/EditDeliveryJobCommand.java b/src/main/java/seedu/address/logic/commands/jobs/EditDeliveryJobCommand.java index e8f99f56e9e..dcabff4e555 100644 --- a/src/main/java/seedu/address/logic/commands/jobs/EditDeliveryJobCommand.java +++ b/src/main/java/seedu/address/logic/commands/jobs/EditDeliveryJobCommand.java @@ -26,7 +26,7 @@ import seedu.address.model.jobs.Earning; /** - * Edits the details of an existing job in the address book. + * Edits the details of an existing job in the job system. */ public class EditDeliveryJobCommand extends Command { diff --git a/src/main/java/seedu/address/logic/commands/jobs/FindDeliveryJobCommand.java b/src/main/java/seedu/address/logic/commands/jobs/FindDeliveryJobCommand.java index 7c3bc1e3fdd..69d20123bad 100644 --- a/src/main/java/seedu/address/logic/commands/jobs/FindDeliveryJobCommand.java +++ b/src/main/java/seedu/address/logic/commands/jobs/FindDeliveryJobCommand.java @@ -11,7 +11,7 @@ import seedu.address.model.jobs.DeliveryJob; /** - * Finds and lists all persons in address book whose name contains any of the argument keywords. + * Finds and lists all jobs in job system whose name contains any of the argument keywords. * Keyword matching is case insensitive. */ public class FindDeliveryJobCommand extends Command { diff --git a/src/main/java/seedu/address/logic/commands/jobs/ListDeliveryJobCommand.java b/src/main/java/seedu/address/logic/commands/jobs/ListDeliveryJobCommand.java index 574c587c0fd..bd97c5ea449 100644 --- a/src/main/java/seedu/address/logic/commands/jobs/ListDeliveryJobCommand.java +++ b/src/main/java/seedu/address/logic/commands/jobs/ListDeliveryJobCommand.java @@ -8,7 +8,7 @@ import seedu.address.model.Model; /** - * Lists all persons in the address book to the user. + * Lists all jobs in the delivery job system to the user. */ public class ListDeliveryJobCommand extends Command { diff --git a/src/main/java/seedu/address/logic/commands/timetable/TimetableCommand.java b/src/main/java/seedu/address/logic/commands/timetable/TimetableCommand.java index 3b75e41cfd7..629a2281504 100644 --- a/src/main/java/seedu/address/logic/commands/timetable/TimetableCommand.java +++ b/src/main/java/seedu/address/logic/commands/timetable/TimetableCommand.java @@ -11,7 +11,7 @@ import seedu.address.model.jobs.sorters.SortbyTimeAndEarn; /** - * Format full timetable instructions for every command for display. + * Formats full timetable instructions for every command for display. */ public class TimetableCommand extends Command { public static final String COMMAND_WORD = "timetable"; diff --git a/src/main/java/seedu/address/logic/commands/timetable/TimetableDateCommand.java b/src/main/java/seedu/address/logic/commands/timetable/TimetableDateCommand.java index 60f9ecb88a4..003df28e7ff 100644 --- a/src/main/java/seedu/address/logic/commands/timetable/TimetableDateCommand.java +++ b/src/main/java/seedu/address/logic/commands/timetable/TimetableDateCommand.java @@ -31,7 +31,7 @@ public class TimetableDateCommand extends Command { private final LocalDate jobDate; /** - * Finds and shows timetable of jobs in week based on input date + * Updates and shows timetable of jobs in week based on input date * @param jobDate input date */ public TimetableDateCommand(LocalDate jobDate) { diff --git a/src/main/java/seedu/address/logic/parser/jobs/AddDeliveryJobCommandParser.java b/src/main/java/seedu/address/logic/parser/jobs/AddDeliveryJobCommandParser.java index 88f93e36426..6e33cd8a5f7 100644 --- a/src/main/java/seedu/address/logic/parser/jobs/AddDeliveryJobCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/jobs/AddDeliveryJobCommandParser.java @@ -23,7 +23,7 @@ import seedu.address.model.jobs.Earning; /** - * Parses input arguments and creates a new AddCommand object + * Parses input arguments and creates a new AddDeliveryJobCommand object */ public class AddDeliveryJobCommandParser implements Parser { diff --git a/src/main/java/seedu/address/logic/parser/jobs/CompleteDeliveryJobCommandParser.java b/src/main/java/seedu/address/logic/parser/jobs/CompleteDeliveryJobCommandParser.java index 6a9953f2ad6..63759f13ff9 100644 --- a/src/main/java/seedu/address/logic/parser/jobs/CompleteDeliveryJobCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/jobs/CompleteDeliveryJobCommandParser.java @@ -5,7 +5,7 @@ import seedu.address.logic.parser.exceptions.ParseException; /** - * Parses input arguments and creates a new FindCommand object + * Parses input arguments and creates a new CompleteDeliveryJobCommandParser object */ public class CompleteDeliveryJobCommandParser implements Parser { diff --git a/src/main/java/seedu/address/logic/parser/timetable/TimetableDateCommandParser.java b/src/main/java/seedu/address/logic/parser/timetable/TimetableDateCommandParser.java index 5b69d675694..90b4b347125 100644 --- a/src/main/java/seedu/address/logic/parser/timetable/TimetableDateCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/timetable/TimetableDateCommandParser.java @@ -15,7 +15,7 @@ import seedu.address.logic.parser.exceptions.ParseException; /** - * Parses input arguments and creates a new AddCommand object + * Parses input arguments and creates a new TimetableDateCommand object */ public class TimetableDateCommandParser implements Parser { diff --git a/src/main/java/seedu/address/logic/parser/timetable/TimetableParser.java b/src/main/java/seedu/address/logic/parser/timetable/TimetableParser.java index 859997426be..16ff56b7f13 100644 --- a/src/main/java/seedu/address/logic/parser/timetable/TimetableParser.java +++ b/src/main/java/seedu/address/logic/parser/timetable/TimetableParser.java @@ -13,7 +13,7 @@ import seedu.address.logic.parser.exceptions.ParseException; /** - * Parses user input. + * Represent a parser for timetable command */ public class TimetableParser { diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index 66cea4df0ee..725509b06b0 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -67,6 +67,10 @@ public interface Model { */ boolean hasPerson(Person person); + /** + * Returns person with specified ID + * @param id + */ Optional getPersonById(String id); /** @@ -159,7 +163,7 @@ public interface Model { ObservableList getDeliveryJobList(); /** - * Returns job list + * Returns job list sorted */ ObservableList getSortedDeliveryJobListByComparator(); @@ -182,7 +186,7 @@ public interface Model { void updateSortedDeliveryJobListByComparator(Comparator sorter); /** - * Updates sorted delivery job list by date + * Updates sorted delivery job list by date and earning */ void updateSortedDeliveryJobListByDate(); @@ -250,7 +254,7 @@ public interface Model { void addReminder(Reminder reminder); /** - * Returns an unmodifiable view of the filtered person list + * Returns an unmodifiable view of the filtered reminder list */ ObservableList getReminderList(); diff --git a/src/main/java/seedu/address/model/jobs/DeliveryJob.java b/src/main/java/seedu/address/model/jobs/DeliveryJob.java index febc3b79c32..35423fd6447 100644 --- a/src/main/java/seedu/address/model/jobs/DeliveryJob.java +++ b/src/main/java/seedu/address/model/jobs/DeliveryJob.java @@ -98,42 +98,72 @@ private static String genJobId(String recipient, String sender) { .toUpperCase(); } + /** + * Returns job ID + */ public String getJobId() { return jobId; } + /** + * Returns recipient ID + */ public String getRecipientId() { return recipient; } + /** + * Returns sender ID + */ public String getSenderId() { return sender; } + /** + * Returns delivery date + */ public Optional getDeliveryDate() { return deliveryDate; } + /** + * Returns delivery slot + */ public Optional getDeliverySlot() { return deliverySlot; } + /** + * Returns delivery date in LocalDate + */ public LocalDate getDate() { return deliveryDate.get().getDate(); } + /** + * Returns delivery slot in Integer + */ public int getSlot() { return deliverySlot.get().getSlot(); } + /** + * Returns delivery earning + */ public Optional getEarning() { return earning; } + /** + * Returns delivered status + */ public Boolean getDeliveredStatus() { return isDelivered; } + /** + * Returns delivery description in proper String format + */ public String getDescription() { if (description == null) { return ""; diff --git a/src/main/java/seedu/address/model/jobs/DeliveryJobContainsKeywordsPredicate.java b/src/main/java/seedu/address/model/jobs/DeliveryJobContainsKeywordsPredicate.java index 1b9d1b33169..58a2dbd27ef 100644 --- a/src/main/java/seedu/address/model/jobs/DeliveryJobContainsKeywordsPredicate.java +++ b/src/main/java/seedu/address/model/jobs/DeliveryJobContainsKeywordsPredicate.java @@ -3,7 +3,7 @@ import java.util.function.Predicate; /** - * Tests that a {@code Person}'s {@code Name} matches any of the keywords given. + * Tests that a {@code DeliveryJob}'s attributes matches any of the keywords given. */ public class DeliveryJobContainsKeywordsPredicate implements Predicate { private final DeliveryJob toFind; diff --git a/src/main/java/seedu/address/model/jobs/DeliveryList.java b/src/main/java/seedu/address/model/jobs/DeliveryList.java index ecaa1d126d7..9d13ec6ad1b 100644 --- a/src/main/java/seedu/address/model/jobs/DeliveryList.java +++ b/src/main/java/seedu/address/model/jobs/DeliveryList.java @@ -31,6 +31,10 @@ public int size() { return jobList.size(); } + /** + * Returns element of job list at specified index + * @param index + */ public ArrayList get(int index) { return jobList.get(index); } diff --git a/src/main/java/seedu/address/model/jobs/DeliverySlot.java b/src/main/java/seedu/address/model/jobs/DeliverySlot.java index e0586055b21..ba01e20d1b9 100644 --- a/src/main/java/seedu/address/model/jobs/DeliverySlot.java +++ b/src/main/java/seedu/address/model/jobs/DeliverySlot.java @@ -36,7 +36,7 @@ private DeliverySlot() { } /** - * Returns true if a given string is a valid earning. + * Returns true if a given string is a valid slot. */ public static boolean isValidDeliverySlot(String value) { return value.matches(VALIDATION_REGEX); diff --git a/src/main/java/seedu/address/model/jobs/Earning.java b/src/main/java/seedu/address/model/jobs/Earning.java index 1fef200d26a..e91b9a12c86 100644 --- a/src/main/java/seedu/address/model/jobs/Earning.java +++ b/src/main/java/seedu/address/model/jobs/Earning.java @@ -38,10 +38,16 @@ public Earning(String earning) { } } + /** + * Returns earning in double data type + */ public double getEarning() { return Double.parseDouble(value); } + /** + * Returns new earning as 0.0 + */ public static Earning placeholder() { return new Earning("0.00"); } diff --git a/src/main/java/seedu/address/model/jobs/UniqueDeliveryList.java b/src/main/java/seedu/address/model/jobs/UniqueDeliveryList.java index 3f1b0693a5e..30e496431d8 100644 --- a/src/main/java/seedu/address/model/jobs/UniqueDeliveryList.java +++ b/src/main/java/seedu/address/model/jobs/UniqueDeliveryList.java @@ -12,7 +12,7 @@ import seedu.address.model.jobs.exceptions.DuplicateDeliveryJobException; /** - * UniqueDeliveryList + * Represents a UniqueDeliveryList in the delivery jobs book. */ public class UniqueDeliveryList implements Iterable { @@ -21,7 +21,7 @@ public class UniqueDeliveryList implements Iterable { FXCollections.unmodifiableObservableList(internalList); /** - * Contains. + * Checks if job list contain a job */ public boolean contains(DeliveryJob toCheck) { requireNonNull(toCheck); @@ -29,7 +29,7 @@ public boolean contains(DeliveryJob toCheck) { } /** - * add + * Adds a delivery job to job list * * @param toAdd */ @@ -42,7 +42,7 @@ public void add(DeliveryJob toAdd) { } /** - * setDeliveryJob + * Sets/updates a specific delivery job * * @param target * @param editedJob @@ -63,7 +63,7 @@ public void setDeliveryJob(DeliveryJob target, DeliveryJob editedJob) { } /** - * Removes. + * Removes a delivery job. */ public void remove(DeliveryJob toRemove) { requireNonNull(toRemove); @@ -73,7 +73,7 @@ public void remove(DeliveryJob toRemove) { } /** - * setDeliveryJobs + * Sets delivery job * * @param replacement */ @@ -83,7 +83,7 @@ public void setDeliveryJobs(UniqueDeliveryList replacement) { } /** - * setDeliveryJobs + * Sets job list to a new list * * @param jobs */ @@ -104,7 +104,7 @@ public ObservableList asUnmodifiableObservableList() { } /** - * @return number of jobs + * Returns number of jobs */ public int size() { return internalList.size(); diff --git a/src/main/java/seedu/address/model/jobs/sorters/SortbyTimeAndEarn.java b/src/main/java/seedu/address/model/jobs/sorters/SortbyTimeAndEarn.java index a2a939b0a49..d8ec501e95a 100644 --- a/src/main/java/seedu/address/model/jobs/sorters/SortbyTimeAndEarn.java +++ b/src/main/java/seedu/address/model/jobs/sorters/SortbyTimeAndEarn.java @@ -13,13 +13,18 @@ public class SortbyTimeAndEarn implements Comparator { /** * Method sort by time (increasing) + * If time is the same, sort by earning (decreasing) * @param a the first job to be compared. * @param b the second job to be compared. - * @return difference between jobs' timing + * @return difference between jobs' timing/earning */ public int compare(DeliveryJob a, DeliveryJob b) { try { - return (a.getDate()).compareTo(b.getDate()); + if (compareByDate(a, b) != 0) { + return compareByDate(a, b); + } else { + return a.getEarning().get().compareTo(b.getEarning().get()); + } } catch (NoSuchElementException e) { if (b.isScheduled()) { return 1; @@ -39,4 +44,15 @@ public int compare(DeliveryJob a, DeliveryJob b) { return 0; } } + + /** + * Sorts by date + */ + private int compareByDate(DeliveryJob a, DeliveryJob b) { + if (a.getDate().compareTo(b.getDate()) == 0) { + return a.getSlot() - b.getSlot(); + } else { + return a.getDate().compareTo(b.getDate()); + } + } } diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java index 49cfd3dfd82..7a3cd644825 100644 --- a/src/main/java/seedu/address/ui/MainWindow.java +++ b/src/main/java/seedu/address/ui/MainWindow.java @@ -53,7 +53,6 @@ public class MainWindow extends UiPart { private Logic logic; // Independent Ui parts residing in this Ui container - // private PersonListPanel personListPanel; private AddressBookWindow addressBookWindow; private AddDeliveryJobWindow addDeliveryJobWindow; private CompleteWindow completeWindow; @@ -187,6 +186,9 @@ public MainWindow(Stage primaryStage, Logic logic) { addressBookWindow = new AddressBookWindow(new Stage(), logic); } + /** + * Returns primary stage of Main Window + */ public Stage getPrimaryStage() { return primaryStage; } @@ -298,7 +300,7 @@ public void handleHelp() { } /** - * Opens Timetable window. + * Reloads and opens Timetable window. */ @FXML private void handleTimetable() { @@ -318,7 +320,7 @@ private void handleTimetable() { } /** - * Opends timetable window + * Opens timetable window */ private void openTimetable() { if (!timetableWindow.isShowing()) { @@ -331,7 +333,7 @@ private void openTimetable() { } /** - * Opends unscheduled jobs window + * Reloads and opends unscheduled jobs window */ @FXML private void handleUnscheduledTimetable() { @@ -351,7 +353,7 @@ private void handleUnscheduledTimetable() { } /** - * Opends completed jobs window + * Reloads and opens completed jobs window */ @FXML private void handleCompletedTimetable() { @@ -416,6 +418,9 @@ private void handleAddressBook() { } } + /** + * Returns delivery job list panel + */ public DeliveryJobListPanel getDeliveryJobListPanel() { return deliveryJobListPanel; } @@ -430,6 +435,9 @@ private void handleDeliveryJobSystemCreateAction() { addDeliveryJobWindow.fillInnerParts(); } + /** + * Shows main window + */ void show() { primaryStage.show(); } diff --git a/src/main/java/seedu/address/ui/TimetableWindow.java b/src/main/java/seedu/address/ui/TimetableWindow.java index ae7ee0f0f05..5212ec00071 100644 --- a/src/main/java/seedu/address/ui/TimetableWindow.java +++ b/src/main/java/seedu/address/ui/TimetableWindow.java @@ -73,21 +73,6 @@ public TimetableWindow(Stage primaryStage, Logic logic) { /** * Shows the timetable window. - * @throws IllegalStateException - *
      - *
    • - * if this method is called on a thread other than the JavaFX Application Thread. - *
    • - *
    • - * if this method is called during animation or layout processing. - *
    • - *
    • - * if this method is called on the primary stage. - *
    • - *
    • - * if {@code dialogStage} is already showing. - *
    • - *
    */ public void show() { logger.fine("Showing timetable of week of " + focusDate.toString()); @@ -166,6 +151,11 @@ private void handleExit() { primaryStage.hide(); } + /** + * Executes the command and returns the result. + * + * @see seedu.address.logic.Logic#executeTimetableCommand(String) + */ private CommandResult executeCommand(String commandText) throws CommandException, ParseException { try { CommandResult commandResult = logic.executeTimetableCommand(commandText); diff --git a/src/main/java/seedu/address/ui/jobs/DayDeliveryJobCard.java b/src/main/java/seedu/address/ui/jobs/DayDeliveryJobCard.java index d17a70be434..132ca9187d4 100644 --- a/src/main/java/seedu/address/ui/jobs/DayDeliveryJobCard.java +++ b/src/main/java/seedu/address/ui/jobs/DayDeliveryJobCard.java @@ -10,7 +10,7 @@ import seedu.address.ui.UiPart; /** - * An UI component that displays information of a {@code Person}. + * An UI component that displays information of a {@code DayDeliveryJobCard}. */ public class DayDeliveryJobCard extends UiPart { @@ -42,7 +42,8 @@ public class DayDeliveryJobCard extends UiPart { private Label earning; /** - * Creates a {@code PersonCode} with the given {@code Person} and index to display. + * Creates a {@code DayDeliveryJobCard} with the given {@code Logic}, + * {@code DeliveryJob} and index to display. */ public DayDeliveryJobCard(Logic logic, DeliveryJob job, int displayedIndex) { super(FXML); diff --git a/src/main/java/seedu/address/ui/jobs/DeliveryJobCard.java b/src/main/java/seedu/address/ui/jobs/DeliveryJobCard.java index 404f65697c5..783d7ca9a2c 100644 --- a/src/main/java/seedu/address/ui/jobs/DeliveryJobCard.java +++ b/src/main/java/seedu/address/ui/jobs/DeliveryJobCard.java @@ -11,7 +11,7 @@ import seedu.address.ui.UiPart; /** - * An UI component that displays information of a {@code Person}. + * An UI component that displays information of a {@code DeliveryJobCard}. */ public class DeliveryJobCard extends UiPart { @@ -51,7 +51,8 @@ public class DeliveryJobCard extends UiPart { private ImageView checkmarkIcon; /** - * Creates a {@code PersonCode} with the given {@code Person} and index to display. + * Creates a {@code DeliveryJobCard} with the given {@code DeliveryJob}, index to display + * and {@code Consumer}. */ public DeliveryJobCard(DeliveryJob job, int displayedIndex, Consumer onCheckHandler) { super(FXML); diff --git a/src/main/java/seedu/address/ui/jobs/DeliveryJobListPanel.java b/src/main/java/seedu/address/ui/jobs/DeliveryJobListPanel.java index 88d2d79d84d..d5104eea2e9 100644 --- a/src/main/java/seedu/address/ui/jobs/DeliveryJobListPanel.java +++ b/src/main/java/seedu/address/ui/jobs/DeliveryJobListPanel.java @@ -27,7 +27,7 @@ import seedu.address.ui.UiPart; /** - * Panel containing the list of persons. + * Panel containing the list of jobs. */ public class DeliveryJobListPanel extends UiPart { private static final String FXML = "DeliveryJobListPanel.fxml"; @@ -180,6 +180,9 @@ public void setOrderByHandler(BiFunction con) { filterDelivered.setToggleGroup(toggleGroup); filterPending.setToggleGroup(toggleGroup); diff --git a/src/main/java/seedu/address/ui/notification/NotificationManager.java b/src/main/java/seedu/address/ui/notification/NotificationManager.java index c0df31d0099..f81a2e06abc 100644 --- a/src/main/java/seedu/address/ui/notification/NotificationManager.java +++ b/src/main/java/seedu/address/ui/notification/NotificationManager.java @@ -100,30 +100,32 @@ public void checkNowSchedule() { List jobList; Calendar now = Calendar.getInstance(); int hour = now.get(Calendar.HOUR_OF_DAY); - switch (hour) { - case 10: - jobList = deliveryList.get(0); - break; - case 11: - jobList = deliveryList.get(1); - break; - case 13: - jobList = deliveryList.get(2); - break; - case 14: - jobList = deliveryList.get(3); - break; - case 15: - jobList = deliveryList.get(4); - break; - default: - //nothing scheduled at the moment - jobList = null; - } - if (jobList != null) { - for (DeliveryJob d: jobList) { - String des = d.toString(); - show("Current Job(s)!", des, Pos.TOP_LEFT); + if (deliveryList != null) { + switch (hour) { + case 10: + jobList = deliveryList.get(0); + break; + case 11: + jobList = deliveryList.get(1); + break; + case 13: + jobList = deliveryList.get(2); + break; + case 14: + jobList = deliveryList.get(3); + break; + case 15: + jobList = deliveryList.get(4); + break; + default: + //nothing scheduled at the moment + jobList = null; + } + if (jobList != null) { + for (DeliveryJob d : jobList) { + String des = d.toString(); + show("Current Job(s)!", des, Pos.TOP_LEFT); + } } } } diff --git a/src/main/java/seedu/address/ui/timetable/CompleteWindow.java b/src/main/java/seedu/address/ui/timetable/CompleteWindow.java index 771daa64ff6..d991a2e3969 100644 --- a/src/main/java/seedu/address/ui/timetable/CompleteWindow.java +++ b/src/main/java/seedu/address/ui/timetable/CompleteWindow.java @@ -9,12 +9,11 @@ import seedu.address.commons.core.LogsCenter; import seedu.address.logic.Logic; import seedu.address.ui.UiPart; -import seedu.address.ui.jobs.DeliveryJobListPanel; import seedu.address.ui.main.ResultDisplay; import seedu.address.ui.main.StatusBarFooter; /** - * Displays contact list. + * Displays list of completed jobs. */ public class CompleteWindow extends UiPart { @@ -25,7 +24,7 @@ public class CompleteWindow extends UiPart { private Logic logic; private ResultDisplay resultDisplay; - private DeliveryJobListPanel jobListPanel; + private UnscheduledDeliveryJobListPanel jobListPanel; @FXML private Text numberOfJobs; @@ -35,7 +34,7 @@ public class CompleteWindow extends UiPart { private StackPane statusbarPlaceholder; /** - * Creates a {@code AddressBookWindow} with the given {@code Stage} and {@code Logic}. + * Creates a {@code CompleteWindow} with the given {@code Stage} and {@code Logic}. */ public CompleteWindow(Stage primaryStage, Logic logic) { super(FXML, primaryStage); @@ -45,40 +44,40 @@ public CompleteWindow(Stage primaryStage, Logic logic) { /** - * Show main window. + * Show complete window. */ public void show() { - logger.fine("Showing completed job window"); + logger.fine("Showing window of completed jobs"); getRoot().show(); getRoot().centerOnScreen(); } /** - * Returns true if the stats window is currently being shown. + * Returns true if the complete window is currently being shown. */ public boolean isShowing() { return getRoot().isShowing(); } /** - * Hides the stats window. + * Hides the Complete window. */ public void hide() { getRoot().hide(); } /** - * Focuses on the stats window. + * Focuses on the Complete window. */ public void focus() { getRoot().requestFocus(); } /** - * fillInnerParts. + * Fills inner parts and content of complete window. */ public void fillInnerParts() { - jobListPanel = new DeliveryJobListPanel(logic.getCompletedDeliveryJobList()); + jobListPanel = new UnscheduledDeliveryJobListPanel(logic.getCompletedDeliveryJobList()); int jobListLen = logic.getCompletedDeliveryJobList().size(); numberOfJobs.setText(String.format("Total: %d job(s)", jobListLen)); @@ -87,6 +86,9 @@ public void fillInnerParts() { statusbarPlaceholder.getChildren().add(statusBarFooter.getRoot()); } + /** + * Closes complete window. + */ @FXML private void handleExit() { primaryStage.hide(); diff --git a/src/main/java/seedu/address/ui/timetable/DayJobListPanel.java b/src/main/java/seedu/address/ui/timetable/DayJobListPanel.java index bde1f58b9ae..5be0e519e45 100644 --- a/src/main/java/seedu/address/ui/timetable/DayJobListPanel.java +++ b/src/main/java/seedu/address/ui/timetable/DayJobListPanel.java @@ -43,7 +43,9 @@ public class DayJobListPanel extends UiPart { /** - * Creates a {@code DeliveryJobListPanel} with the given {@code ObservableList}. + * Creates a {@code DayJobListPanel} + * @param logic logic + * @param jobListInDay observable list of jobs */ public DayJobListPanel(Logic logic, DeliveryList jobListInDay) { super(FXML); @@ -66,7 +68,7 @@ private void addJobListToSlot(ListView jobSlot, ArrayList { @Override diff --git a/src/main/java/seedu/address/ui/timetable/DayOfMonthPanel.java b/src/main/java/seedu/address/ui/timetable/DayOfMonthPanel.java index 7e58e90aec2..773dff7224e 100644 --- a/src/main/java/seedu/address/ui/timetable/DayOfMonthPanel.java +++ b/src/main/java/seedu/address/ui/timetable/DayOfMonthPanel.java @@ -16,7 +16,7 @@ /** - * Controller for a timetable page + * Panel containing the days of month (11th, 12th,...) in the week */ public class DayOfMonthPanel extends UiPart { @@ -39,7 +39,8 @@ public class DayOfMonthPanel extends UiPart { private HBox dayOfMonthPanel; /** - * Creates a {@code TimeTableWindow} with the given {@code Stage} and {@code Logic}. + * Creates a {@code DayofMonthPanel} with the given {@code focusDate}, {@code Logic} + * and {@code Stage}. */ public DayOfMonthPanel(LocalDate focusDate, Logic logic, Stage primaryStage) { super(FXML); @@ -59,7 +60,7 @@ public DayOfMonthPanel(LocalDate focusDate, Logic logic, Stage primaryStage) { } /** - * Sets all text font to font size + * Sets all text font to specific font size * @param fontSize */ private void setAllFont(double fontSize) { @@ -74,7 +75,7 @@ private void setAllFont(double fontSize) { } /** - * Sets day of month text for all days + * Sets text in day of month for all days in week * @param focusDayOfWeek day in week of focus date */ private void setAllDateText(int focusDayOfWeek) { diff --git a/src/main/java/seedu/address/ui/timetable/DayOfWeekPanel.java b/src/main/java/seedu/address/ui/timetable/DayOfWeekPanel.java index 848f3d7919d..cc2d2de789b 100644 --- a/src/main/java/seedu/address/ui/timetable/DayOfWeekPanel.java +++ b/src/main/java/seedu/address/ui/timetable/DayOfWeekPanel.java @@ -14,7 +14,7 @@ import seedu.address.ui.UiPart; /** - * Controller for a timetable page + * Panel containing day of week (Mon, Tue, Wed,..) */ public class DayOfWeekPanel extends UiPart { @@ -35,7 +35,7 @@ public class DayOfWeekPanel extends UiPart { private HBox dayOfWeekPanel; /** - * Creates a {@code TimeTableWindow} with the given {@code Stage} and {@code Logic}. + * Creates a {@code DayofWeekPanel} with the given {@code Logic} and {@code Stage}. */ public DayOfWeekPanel(Logic logic, Stage primaryStage) { super(FXML); @@ -61,7 +61,7 @@ public DayOfWeekPanel(Logic logic, Stage primaryStage) { } /** - * Sets all text font to size + * Sets all text font to a specific size * @param fontSize */ private void setAllFont(double fontSize) { @@ -76,7 +76,7 @@ private void setAllFont(double fontSize) { } /** - * Sets all text wrapping width + * Sets all text with a specific wrapping width * @param widthSize */ private void setAllWrappingWidth(double widthSize) { diff --git a/src/main/java/seedu/address/ui/timetable/TimetableDetailPanel.java b/src/main/java/seedu/address/ui/timetable/TimetableDetailPanel.java index 75e73506bfb..ea1ea328170 100644 --- a/src/main/java/seedu/address/ui/timetable/TimetableDetailPanel.java +++ b/src/main/java/seedu/address/ui/timetable/TimetableDetailPanel.java @@ -15,9 +15,9 @@ import seedu.address.ui.UiPart; /** - * Controller for a timetable page + * Panel containing timetable detail */ -public class TimetableDetailPanel extends UiPart /*implements Initializable*/ { +public class TimetableDetailPanel extends UiPart { private static final String FXML = "TimetablePanel.fxml"; private final Logger logger = LogsCenter.getLogger(getClass()); @@ -38,7 +38,7 @@ public class TimetableDetailPanel extends UiPart /*implements Initializa private HBox jobListPanel; /** - * Creates a {@code TimeTableWindow} with the given {@code Stage} and {@code Logic}. + * Creates a {@code TimetableDetailPanel} with the given {@code Stage} and {@code Logic}. */ public TimetableDetailPanel(LocalDate focusDate, Logic logic, Stage primaryStage) { super(FXML); @@ -74,6 +74,7 @@ void fillInnerParts() { logic.updateSortedDeliveryJobListByDate(); logic.setWeekDeliveryJobList(focusDate); + logger.info("Filled in timetable detail with focus date as " + focusDate.toString()); } } diff --git a/src/main/java/seedu/address/ui/timetable/UnscheduleWindow.java b/src/main/java/seedu/address/ui/timetable/UnscheduleWindow.java index 284c9b3d864..441a67eb2b3 100644 --- a/src/main/java/seedu/address/ui/timetable/UnscheduleWindow.java +++ b/src/main/java/seedu/address/ui/timetable/UnscheduleWindow.java @@ -9,12 +9,11 @@ import seedu.address.commons.core.LogsCenter; import seedu.address.logic.Logic; import seedu.address.ui.UiPart; -import seedu.address.ui.jobs.DeliveryJobListPanel; import seedu.address.ui.main.ResultDisplay; import seedu.address.ui.main.StatusBarFooter; /** - * Displays contact list. + * Controller for unschedule window. */ public class UnscheduleWindow extends UiPart { @@ -25,7 +24,7 @@ public class UnscheduleWindow extends UiPart { private Logic logic; private ResultDisplay resultDisplay; - private DeliveryJobListPanel jobListPanel; + private UnscheduledDeliveryJobListPanel jobListPanel; @FXML private Text numberOfJobs; @@ -49,37 +48,37 @@ public UnscheduleWindow(Stage primaryStage, Logic logic) { * Show main window. */ public void show() { - logger.fine("Showing address book page"); + logger.fine("Showing unscheduled window page"); getRoot().show(); getRoot().centerOnScreen(); } /** - * Returns true if the stats window is currently being shown. + * Returns true if the unscheduled window is currently being shown. */ public boolean isShowing() { return getRoot().isShowing(); } /** - * Hides the stats window. + * Hides the unscheduled window. */ public void hide() { getRoot().hide(); } /** - * Focuses on the stats window. + * Focuses on the unscheduled window. */ public void focus() { getRoot().requestFocus(); } /** - * fillInnerParts. + * Fills Inner Parts and content of unscheduled window. */ public void fillInnerParts() { - jobListPanel = new DeliveryJobListPanel(logic.getUnscheduledDeliveryJobList()); + jobListPanel = new UnscheduledDeliveryJobListPanel(logic.getUnscheduledDeliveryJobList()); int jobListLen = logic.getUnscheduledDeliveryJobList().size(); numberOfJobs.setText(String.format("Total: %d job(s)", jobListLen)); @@ -88,6 +87,9 @@ public void fillInnerParts() { statusbarPlaceholder.getChildren().add(statusBarFooter.getRoot()); } + /** + * Exits unscheduled window + */ @FXML private void handleExit() { primaryStage.hide(); diff --git a/src/main/java/seedu/address/ui/timetable/UnscheduledDeliveryJobListPanel.java b/src/main/java/seedu/address/ui/timetable/UnscheduledDeliveryJobListPanel.java new file mode 100644 index 00000000000..df053b46012 --- /dev/null +++ b/src/main/java/seedu/address/ui/timetable/UnscheduledDeliveryJobListPanel.java @@ -0,0 +1,60 @@ +package seedu.address.ui.timetable; + +import java.util.logging.Logger; + +import javafx.collections.ObservableList; +import javafx.fxml.FXML; +import javafx.scene.control.ListCell; +import javafx.scene.control.ListView; +import javafx.scene.layout.Region; +import seedu.address.commons.core.LogsCenter; +import seedu.address.model.jobs.DeliveryJob; +import seedu.address.ui.UiPart; +import seedu.address.ui.jobs.DeliveryJobCard; + +/** + * Panel containing the list of unscheduled jobs. + */ +public class UnscheduledDeliveryJobListPanel extends UiPart { + private static final String FXML = "UnscheduledDeliveryJobListPanel.fxml"; + private final Logger logger = LogsCenter.getLogger(UnscheduledDeliveryJobListPanel.class); + + @FXML + private ListView deliveryJobListView; + + /** + * Creates a {@code UnscheduledDeliveryJobListPanel} with the given {@code ObservableList}. + */ + public UnscheduledDeliveryJobListPanel(ObservableList jobList) { + super(FXML); + deliveryJobListView.setItems(jobList); + deliveryJobListView.setCellFactory(listView -> new DeliveryJobListViewCell()); + logger.info("Updated and showed list of unscheduled jobs"); + } + + /** + * Custom {@code ListCell} that displays the graphics of a {@code job} using a + * {@code DeliveryJobCard}. + */ + class DeliveryJobListViewCell extends ListCell { + @Override + protected void updateItem(DeliveryJob job, boolean empty) { + super.updateItem(job, empty); + + if (empty || job == null) { + setGraphic(null); + setText(null); + } else { + setGraphic(new DeliveryJobCard(job, getIndex() + 1, (card) -> {}).getRoot()); + } + } + } + + /** + * Returns total number of jobs listed. + */ + public int size() { + return deliveryJobListView.getItems().size(); + } + +} diff --git a/src/main/java/seedu/address/ui/timetable/WeekJobListPanel.java b/src/main/java/seedu/address/ui/timetable/WeekJobListPanel.java index 66959111884..18f28ab9b3c 100644 --- a/src/main/java/seedu/address/ui/timetable/WeekJobListPanel.java +++ b/src/main/java/seedu/address/ui/timetable/WeekJobListPanel.java @@ -14,7 +14,7 @@ import seedu.address.ui.UiPart; /** - * Controller for a timetable page + * Panel containing job list in the week */ public class WeekJobListPanel extends UiPart { @@ -35,7 +35,7 @@ public class WeekJobListPanel extends UiPart { private HBox jobListPanel; /** - * Creates a {@code TimeTableWindow} with the given {@code Stage} and {@code Logic}. + * Creates a {@code WeekJobListPanel} with the given {@code Stage} and {@code Logic}. */ public WeekJobListPanel(Logic logic, Stage primaryStage) { super(FXML); @@ -65,6 +65,10 @@ public WeekJobListPanel(Logic logic, Stage primaryStage) { jobListPanel.setAlignment(Pos.CENTER); } + /** + * Sets background color for all job list panel placeholders for all days in week + * @param backgroundColor + */ private void setAllPlaceholderBackgroundColor(String backgroundColor) { deliveryJobListPanelPlaceholder1.setStyle("-fx-background-color: " + backgroundColor); deliveryJobListPanelPlaceholder2.setStyle("-fx-background-color: " + backgroundColor); @@ -76,6 +80,10 @@ private void setAllPlaceholderBackgroundColor(String backgroundColor) { } + /** + * Sets width size for all job list panel placeholders for all days in week + * @param widthSize + */ private void setAllPalceholderPrefWidth(double widthSize) { deliveryJobListPanelPlaceholder1.setPrefWidth(widthSize); deliveryJobListPanelPlaceholder2.setPrefWidth(widthSize); @@ -87,6 +95,9 @@ private void setAllPalceholderPrefWidth(double widthSize) { } + /** + * Sets job lists for all job list panel placeholders for all days in week + */ private void addAllPlaceholderJobs() { addJobSlotsToPanel(deliveryJobListPanelPlaceholder1, logic.getDayofWeekJob(1)); addJobSlotsToPanel(deliveryJobListPanelPlaceholder2, logic.getDayofWeekJob(2)); @@ -98,6 +109,11 @@ private void addAllPlaceholderJobs() { } + /** + * Sets job list for each job list panel placeholder + * @param panelPlaceholder job list panel placeholder for specific day + * @param jobListInDay job list in specific day + */ private void addJobSlotsToPanel(StackPane panelPlaceholder, DeliveryList jobListInDay) { if (jobListInDay != null) { DayJobListPanel jobListInDayPane = new DayJobListPanel(logic, jobListInDay); diff --git a/src/main/resources/view/UnscheduledDeliveryJobListPanel.fxml b/src/main/resources/view/UnscheduledDeliveryJobListPanel.fxml new file mode 100644 index 00000000000..99470eb9a24 --- /dev/null +++ b/src/main/resources/view/UnscheduledDeliveryJobListPanel.fxml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From 29869cbef0e8e737ac894661a6c63590d90beedb Mon Sep 17 00:00:00 2001 From: dohaduong Date: Wed, 29 Mar 2023 15:59:39 +0800 Subject: [PATCH 227/470] Fix read file from storage bug in JsonAdaptedDeliveryJob When reading delivery job list from storage, json does not accept scenarios where only either date or slot is empty. Updating date/slot to be optional requires updating same thing in json to make sure delivery job list is read correctly. Let's update JsonAdaptedDeliveryJob to accept optional date and slot --- .../jobs/AddDeliveryJobCommandParser.java | 17 ++++++----------- .../java/seedu/address/model/ModelManager.java | 7 ++++--- .../json/model/JsonAdaptedDeliveryJob.java | 16 +++++++++++++--- .../JsonSerializableDeliveryJobSystem.java | 2 +- 4 files changed, 24 insertions(+), 18 deletions(-) diff --git a/src/main/java/seedu/address/logic/parser/jobs/AddDeliveryJobCommandParser.java b/src/main/java/seedu/address/logic/parser/jobs/AddDeliveryJobCommandParser.java index 6e33cd8a5f7..28692d0088d 100644 --- a/src/main/java/seedu/address/logic/parser/jobs/AddDeliveryJobCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/jobs/AddDeliveryJobCommandParser.java @@ -9,8 +9,10 @@ import java.util.NoSuchElementException; import java.util.Optional; +import java.util.logging.Logger; import java.util.stream.Stream; +import seedu.address.commons.core.LogsCenter; import seedu.address.logic.commands.jobs.AddDeliveryJobCommand; import seedu.address.logic.parser.ArgumentMultimap; import seedu.address.logic.parser.ArgumentTokenizer; @@ -26,6 +28,7 @@ * Parses input arguments and creates a new AddDeliveryJobCommand object */ public class AddDeliveryJobCommandParser implements Parser { + private final Logger logger = LogsCenter.getLogger(getClass()); /** * Returns true if none of the prefixes contains empty {@code Optional} values @@ -61,18 +64,21 @@ public AddDeliveryJobCommand parse(String args) throws ParseException { date = argMultimap.getValue(PREFIX_DELIVERY_DATE).get(); } catch (NoSuchElementException e) { date = ""; + logger.fine("Missing date argument for delivery job"); } try { slot = argMultimap.getValue(PREFIX_DELIVERY_SLOT).get(); } catch (NoSuchElementException e) { slot = ""; + logger.fine("Missing slot argument for delivery job"); } try { earn = argMultimap.getValue(PREFIX_EARNING).get(); } catch (NoSuchElementException e) { earn = ""; + logger.fine("Missing earn argument for delivery job"); } if (sid.equals("")) { @@ -83,21 +89,10 @@ public AddDeliveryJobCommand parse(String args) throws ParseException { throw new ParseException(AddDeliveryJobCommand.MESSAGE_RECIPIENT_CONSTRAINT); } - /*if (ded.equals("")) { - throw new ParseException(DeliveryDate.MESSAGE_CONSTRAINTS); - } - - if (des.equals("")) { - throw new ParseException(DeliverySlot.MESSAGE_CONSTRAINTS); - } */ if ((!slot.equals("")) && (Integer.parseInt(slot) < 1)) { throw new ParseException(DeliverySlot.MESSAGE_CONSTRAINTS); } - /*if ((ear != null) && (ear.equals(""))) { - throw new ParseException(Earning.MESSAGE_CONSTRAINTS); - }*/ - DeliveryJob job = createDeliveryJob(rid, sid, date, slot, earn); return new AddDeliveryJobCommand(job); } diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index e0584d04c2f..15b321693f1 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -64,10 +64,10 @@ public ModelManager(ReadOnlyAddressBook addressBook, ReadOnlyDeliveryJobSystem d this.addressBook = new AddressBook(addressBook); this.deliveryJobSystem = new DeliveryJobSystem(deliveryJobSystem); this.userPrefs = new UserPrefs(userPrefs); - this.filteredPersons = new FilteredList<>(this.addressBook.getPersonList()); - this.filteredDeliveryJobs = new FilteredList<>(this.deliveryJobSystem.getDeliveryJobList()); + this.filteredPersons = new FilteredList(this.addressBook.getPersonList()); + this.filteredDeliveryJobs = new FilteredList(this.deliveryJobSystem.getDeliveryJobList()); this.sortedDeliveryJobs = new ArrayList(this.deliveryJobSystem.getDeliveryJobList()); - this.sortedDeliveryJobsList = new SortedList<>(filteredDeliveryJobs); + this.sortedDeliveryJobsList = new SortedList(filteredDeliveryJobs); //updateSortedDeliveryJobListByDate(); this.jobListGroupedByDate = new HashMap(); this.weekJobListGroupedByDate = new HashMap(); @@ -228,6 +228,7 @@ public void setDeliveryJob(DeliveryJob target, DeliveryJob editedJob) { @Override public ObservableList getDeliveryJobList() { + updateFilteredDeliveryJobList(PREDICATE_SHOW_ALL_DELIVERY_JOBS); return filteredDeliveryJobs; } diff --git a/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryJob.java b/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryJob.java index a07688f239c..f64e07425dd 100644 --- a/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryJob.java +++ b/src/main/java/seedu/address/storage/json/model/JsonAdaptedDeliveryJob.java @@ -70,9 +70,19 @@ public JsonAdaptedDeliveryJob(DeliveryJob source) { @Override public DeliveryJob toModelType() throws IllegalValueException { - if (deliveryDate.equals(DeliveryDate.placeholder().date) - || deliverySlot.equals(DeliverySlot.placeholder().value)) { - return new DeliveryJob(jobId, recipient, sender, Optional.empty(), + if (deliveryDate.equals(DeliveryDate.placeholder().date)) { + if (deliverySlot.equals(DeliverySlot.placeholder().value)) { + return new DeliveryJob(jobId, recipient, sender, Optional.empty(), + Optional.empty(), + Optional.of(new Earning(earning)), isDelivered, description); + } else { + return new DeliveryJob(jobId, recipient, sender, Optional.empty(), + Optional.of(new DeliverySlot(deliverySlot)), + Optional.of(new Earning(earning)), isDelivered, description); + } + } else if (deliverySlot.equals(DeliverySlot.placeholder().value)) { + return new DeliveryJob(jobId, recipient, sender, + Optional.of(new DeliveryDate(deliveryDate)), Optional.empty(), Optional.of(new Earning(earning)), isDelivered, description); } diff --git a/src/main/java/seedu/address/storage/json/serializable/JsonSerializableDeliveryJobSystem.java b/src/main/java/seedu/address/storage/json/serializable/JsonSerializableDeliveryJobSystem.java index d89d30e97e9..c255f072b06 100644 --- a/src/main/java/seedu/address/storage/json/serializable/JsonSerializableDeliveryJobSystem.java +++ b/src/main/java/seedu/address/storage/json/serializable/JsonSerializableDeliveryJobSystem.java @@ -20,7 +20,7 @@ @JsonRootName(value = "deliveryjobsystem") public class JsonSerializableDeliveryJobSystem { - public static final String MESSAGE_DUPLICATE_JOB = "Persons list contains duplicate job(s)."; + public static final String MESSAGE_DUPLICATE_JOB = "Job list contains duplicate job(s)."; private final List jobs = new ArrayList<>(); From c5a8dc495cab3a1f932045aa74b07e88cf9196fd Mon Sep 17 00:00:00 2001 From: dohaduong Date: Wed, 29 Mar 2023 16:06:28 +0800 Subject: [PATCH 228/470] Fix missing EOF blank line --- src/main/resources/view/UnscheduledDeliveryJobListPanel.fxml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/view/UnscheduledDeliveryJobListPanel.fxml b/src/main/resources/view/UnscheduledDeliveryJobListPanel.fxml index 99470eb9a24..78f46a0974c 100644 --- a/src/main/resources/view/UnscheduledDeliveryJobListPanel.fxml +++ b/src/main/resources/view/UnscheduledDeliveryJobListPanel.fxml @@ -5,4 +5,4 @@ - \ No newline at end of file + From 2c8076cb7593c174a198cef2278d0faea1bc2528 Mon Sep 17 00:00:00 2001 From: c0j0s Date: Wed, 29 Mar 2023 17:32:10 +0800 Subject: [PATCH 229/470] Fix #166 --- src/main/java/seedu/address/model/jobs/DeliverySlot.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/seedu/address/model/jobs/DeliverySlot.java b/src/main/java/seedu/address/model/jobs/DeliverySlot.java index ba01e20d1b9..e63f69a5c95 100644 --- a/src/main/java/seedu/address/model/jobs/DeliverySlot.java +++ b/src/main/java/seedu/address/model/jobs/DeliverySlot.java @@ -83,7 +83,7 @@ public String getDescription() { case "1": return "10AM - 11AM"; case "2": - return "11PM - 12PM"; + return "11AM - 12PM"; case "3": return "1PM - 2PM"; case "4": From aa4bb10209b8945ec3bcbaf64473c2fb2c4e3e46 Mon Sep 17 00:00:00 2001 From: zuohui48 <83281769+zuohui48@users.noreply.github.com> Date: Wed, 29 Mar 2023 19:09:59 +0800 Subject: [PATCH 230/470] Display total number of completed jobs in stats window --- src/main/java/seedu/address/logic/Logic.java | 6 +++ .../seedu/address/logic/LogicManager.java | 11 +++++ .../address/model/stats/TotalCompleted.java | 40 +++++++++++++++++++ .../address/model/stats/TotalEarnings.java | 4 +- .../seedu/address/ui/StatisticsWindow.java | 4 +- 5 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 src/main/java/seedu/address/model/stats/TotalCompleted.java diff --git a/src/main/java/seedu/address/logic/Logic.java b/src/main/java/seedu/address/logic/Logic.java index 9a533824e4f..de4c5b38396 100644 --- a/src/main/java/seedu/address/logic/Logic.java +++ b/src/main/java/seedu/address/logic/Logic.java @@ -111,6 +111,12 @@ public interface Logic { */ double getTotalEarnings(ObservableList list); + /** + * Gets total number of completed jobs in job list + * @param list + */ + int getTotalCompleted(ObservableList list); + /** * Returns the user prefs' delivery job system file path. */ diff --git a/src/main/java/seedu/address/logic/LogicManager.java b/src/main/java/seedu/address/logic/LogicManager.java index 024075ce9b7..60187de14d6 100644 --- a/src/main/java/seedu/address/logic/LogicManager.java +++ b/src/main/java/seedu/address/logic/LogicManager.java @@ -137,6 +137,17 @@ public double getTotalEarnings(ObservableList list) { return earnings; } + @Override + public int getTotalCompleted(ObservableList list) { + int completed = 0; + for (DeliveryJob job: list) { + if (job.getDeliveredStatus()) { + completed += 1; + } + } + return completed; + } + public ObservableList getUnscheduledDeliveryJobList() { return model.getUnscheduledDeliveryJobList(); } diff --git a/src/main/java/seedu/address/model/stats/TotalCompleted.java b/src/main/java/seedu/address/model/stats/TotalCompleted.java new file mode 100644 index 00000000000..758afd8749a --- /dev/null +++ b/src/main/java/seedu/address/model/stats/TotalCompleted.java @@ -0,0 +1,40 @@ +package seedu.address.model.stats; + +import static java.util.Objects.requireNonNull; +import static seedu.address.commons.util.AppUtil.checkArgument; + +/** + * Represents Total number of Completed jobs in Statistics Window. + * Guarantees: details are present and not null. + */ +public class TotalCompleted { + public static final String MESSAGE_CONSTRAINTS = "TotalCompleted must be a non-negative integer"; + private static final String OUTPUT_MESSAGE = "Total number of Completed Jobs: "; + private int numCompleted; + + /** + * Constructor to create a TotalCompleted object. + * @param completed Total number of completed jobs in the job list. Cannot be negative and cannot be null. + */ + public TotalCompleted(int completed) { + requireNonNull(completed); + checkArgument(isValidCompleted(completed), MESSAGE_CONSTRAINTS); + this.numCompleted = completed; + } + + public double getCompleted() { + return numCompleted; + } + + /** + * Returns true if a given int is non-negative + */ + public static boolean isValidCompleted(int test) { + return test >= 0; + } + + @Override + public String toString() { + return OUTPUT_MESSAGE + numCompleted + "\n"; + } +} diff --git a/src/main/java/seedu/address/model/stats/TotalEarnings.java b/src/main/java/seedu/address/model/stats/TotalEarnings.java index c7c864edf77..f515dcc90ac 100644 --- a/src/main/java/seedu/address/model/stats/TotalEarnings.java +++ b/src/main/java/seedu/address/model/stats/TotalEarnings.java @@ -8,8 +8,8 @@ * Guarantees: details are present and not null. */ public class TotalEarnings { - public static final String MESSAGE_CONSTRAINTS = "TotalEarnings must be a non-negative integer"; - private static final String OUTPUT_MESSAGE = "Total Earnings: "; + public static final String MESSAGE_CONSTRAINTS = "TotalEarnings must be a non-negative number"; + private static final String OUTPUT_MESSAGE = "Total Earnings: $"; private double earnings; /** diff --git a/src/main/java/seedu/address/ui/StatisticsWindow.java b/src/main/java/seedu/address/ui/StatisticsWindow.java index df28a01390b..aeddfd02684 100644 --- a/src/main/java/seedu/address/ui/StatisticsWindow.java +++ b/src/main/java/seedu/address/ui/StatisticsWindow.java @@ -14,6 +14,7 @@ import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.logic.parser.exceptions.ParseException; import seedu.address.model.jobs.DeliveryJob; +import seedu.address.model.stats.TotalCompleted; import seedu.address.model.stats.TotalEarnings; import seedu.address.model.stats.TotalJobs; import seedu.address.ui.jobs.DeliveryJobListPanel; @@ -121,10 +122,11 @@ void fillInnerParts() { ObservableList list = logic.getFilteredDeliveryJobList(); TotalJobs totalJobs = new TotalJobs(list.size()); TotalEarnings totalEarnings = new TotalEarnings(logic.getTotalEarnings(list)); + TotalCompleted totalCompleted = new TotalCompleted(logic.getTotalCompleted(list)); // new simple DeliveryJobListPanel constructor with no event handlers //deliveryJobListPanel = new DeliveryJobListPanel(logic.getFilteredDeliveryJobList()); //deliveryJobListPanelPlaceholder.getChildren().add(deliveryJobListPanel.getRoot()); - totalJob.setText(totalJobs.toString() + totalEarnings.toString()); + totalJob.setText(totalJobs + totalEarnings.toString() + totalCompleted); //resultDisplay = new ResultDisplay(); //resultDisplayPlaceholder.getChildren().add(resultDisplay.getRoot()); From 12954b3c79cd5143db74b9194dea883abe169e98 Mon Sep 17 00:00:00 2001 From: c0j0s Date: Wed, 29 Mar 2023 19:24:12 +0800 Subject: [PATCH 231/470] fix opening duplicate add job window from menu refine ui --- .../java/seedu/address/ui/MainWindow.java | 3 + .../address/ui/jobs/AddDeliveryJobWindow.java | 6 ++ .../ui/jobs/DeliveryJobDetailPane.java | 3 +- .../resources/view/AddDeliveryJobWindow.fxml | 27 ++++---- .../resources/view/DeliveryJobDetailPane.fxml | 42 ++++++++---- .../resources/view/DeliveryJobListPanel.fxml | 8 +-- src/main/resources/view/Extensions.css | 68 +++++++++++++++++++ src/main/resources/view/PersonListCard.fxml | 10 +-- 8 files changed, 130 insertions(+), 37 deletions(-) diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java index 7a3cd644825..7c3f5594d58 100644 --- a/src/main/java/seedu/address/ui/MainWindow.java +++ b/src/main/java/seedu/address/ui/MainWindow.java @@ -430,6 +430,9 @@ public DeliveryJobListPanel getDeliveryJobListPanel() { */ @FXML private void handleDeliveryJobSystemCreateAction() { + if (addDeliveryJobWindow != null) { + addDeliveryJobWindow.getRoot().close(); + } addDeliveryJobWindow = new AddDeliveryJobWindow(new Stage(), logic); addDeliveryJobWindow.show(); addDeliveryJobWindow.fillInnerParts(); diff --git a/src/main/java/seedu/address/ui/jobs/AddDeliveryJobWindow.java b/src/main/java/seedu/address/ui/jobs/AddDeliveryJobWindow.java index 7802fc3acea..9b22df3c799 100644 --- a/src/main/java/seedu/address/ui/jobs/AddDeliveryJobWindow.java +++ b/src/main/java/seedu/address/ui/jobs/AddDeliveryJobWindow.java @@ -372,6 +372,12 @@ boolean validateFields() { } } + if (inputEarning.getText().isEmpty()) { + inputEarning.getStyleClass().add("error-input"); + outputError("Earning cannot be empty."); + flag = false; + } + // any has value if (inputDeliveryDate.getValue() != null || inputDeliverySlot.getValue() != null) { boolean dateFilled = false; diff --git a/src/main/java/seedu/address/ui/jobs/DeliveryJobDetailPane.java b/src/main/java/seedu/address/ui/jobs/DeliveryJobDetailPane.java index e26f2c98b23..383f2c58e7c 100644 --- a/src/main/java/seedu/address/ui/jobs/DeliveryJobDetailPane.java +++ b/src/main/java/seedu/address/ui/jobs/DeliveryJobDetailPane.java @@ -6,6 +6,7 @@ import javafx.fxml.FXML; import javafx.scene.control.Button; import javafx.scene.control.Label; +import javafx.scene.control.TextArea; import javafx.scene.layout.GridPane; import javafx.scene.layout.Region; import javafx.scene.layout.StackPane; @@ -53,7 +54,7 @@ public class DeliveryJobDetailPane extends UiPart { @FXML private Label earningCent; @FXML - private Label description; + private TextArea description; @FXML private Button completeButton; @FXML diff --git a/src/main/resources/view/AddDeliveryJobWindow.fxml b/src/main/resources/view/AddDeliveryJobWindow.fxml index f215085fb88..1b669210711 100644 --- a/src/main/resources/view/AddDeliveryJobWindow.fxml +++ b/src/main/resources/view/AddDeliveryJobWindow.fxml @@ -21,16 +21,16 @@ - + - + - +
    -
    + +
    + diff --git a/src/main/resources/view/CompletedJobWindow.fxml b/src/main/resources/view/CompletedJobWindow.fxml deleted file mode 100644 index ddd35ccf3c2..00000000000 --- a/src/main/resources/view/CompletedJobWindow.fxml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/view/DayDeliveryJobListCard.fxml b/src/main/resources/view/DayDeliveryJobListCard.fxml index 21cdbe88b23..6fdd2e942eb 100644 --- a/src/main/resources/view/DayDeliveryJobListCard.fxml +++ b/src/main/resources/view/DayDeliveryJobListCard.fxml @@ -9,7 +9,7 @@ - + @@ -25,10 +25,11 @@ -
    diff --git a/src/main/resources/view/DayJobListPane.fxml b/src/main/resources/view/DayJobListPane.fxml index ced1941379e..2615c5140c7 100644 --- a/src/main/resources/view/DayJobListPane.fxml +++ b/src/main/resources/view/DayJobListPane.fxml @@ -6,7 +6,7 @@ - + @@ -55,16 +55,6 @@ - - - - - - - - - - diff --git a/src/main/resources/view/DeliveryJobDetailPane.fxml b/src/main/resources/view/DeliveryJobDetailPane.fxml index a61d8f05b35..7081f8da84e 100644 --- a/src/main/resources/view/DeliveryJobDetailPane.fxml +++ b/src/main/resources/view/DeliveryJobDetailPane.fxml @@ -4,7 +4,6 @@ - @@ -15,27 +14,24 @@ - + +
    + + + + - + - - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - + - - - - - - - - - - - - + - - + + + + + + + + + - + + + + - - -

    TJI9Mfr~D&i3g6|@jaNkf4bQS=X?hMAssykn!RtX zz4EMs2cP<*8PNe5?^1s*{5P-o(K!y`22?y8p$pg7)xx{`+H^^No!^G`SHIz$EtluV zPvWR4Suk>Y#uK#Y`%QE|ljVr8}E9m6wU;kfyfKh*w7HGYaBruwd?G{33=-MDNh1y5I7f|L~Sv&+if0dIUj1{4A` zy6*|^QGd3zGk+m%6=1e;`Be2*SEnjS{mLI61n$~E^NIwb=H=@DzjPSE*X=KU6TO^= z9)Yy6cKs^9V27t@<>ljJJMBmM(s>3TXN6;rdu4RrJ#fwDd@p~W-#tEAUn$<8rVMiC z^tC$aN=CNFRCck;C-dNGZD^KW#V6y#18N1m@Hy`E+P!)h zbp`GtB&+(4;Fr#eE+|fU54-AMYsIg9$}jBY!Syw~YVa1Qg)f`DZYL{^CU{vY^-xv6 z43{H=s&i|V;EjWn1n+i)oNMoPm^j~;*x>F4$p4%u_+97tq*qOF{-se%r_2etI6foI z@?LiW_|gphIKw;ef!wPnbC?U}4Gy8(?`zXu3bLe4}kPHmNUSx z^e>=W_Wpflq8?Hc*rhuB;F@z6(9hctEwzi>Dc3$U?R@+upmW5LVGhphQTyz953@tK zJP-!{ra7d@L}_HZ+bC7X8$2zb!>`S&z*Nx&@D0W%SlOD8Q*^_3h|Si_rWW)BV!WEA z3pQxu(Sw0jEDVM`IOvC3;6v-mR~eH>&z+$Mm-DL+=kP^64b*ImWA+f+)j`|+w71!p zc4Wi*lHvks`)q7%?Qx&q*q~AU5GhX>+)Bp@rtBvJ1oh~n{Uo+g-354j8hjle(LfkF z+9<09HY-gMfAX1!#E75Wdc)|km*Kx{*ebP81G=tGM79kAS9bRo&#u|k!SAHWas7#y zZ3H>DxGpvUzc`q(x*X}t)>W^SMHl)H`Hu+QmvL7XkKK|%hf^ta|*UaHQ3LH=sZD|9?M0zN{R~Ijh- zya7FB4cN!H!Iq!E;Qz`BhRj8R^p&SbhnJBvY#X|GXqAo=vSaY-K@$b&M9<7TPM4#d z-hk*9OZXXX^~2NUCH3JdD?st0taY`|f}%PCx21JU?Ds)9-$mCP+Djl1us1UahVwLZ z15|iZb^|(@CJS8&NE!WS_RL`l9vJG9Y8)(QV(HYqP|K&j8E#PYU3e0_eAMRefBWuN zzt4kdo^1CXv~RNC8J?ilAeDgs9?)MiD1j^d#6eA;0{?;x-a42|J6MjyQ@>FjUHFZ5 zGnVQqywFkpADsu|^vdp1KIzo&xNR$$bx0}nL0=!@eN;LLV@>SMKoq3d8%t?l14 z?G;$Eb#>#+z|n-`HyPaYK6;M-`o*8RBBoFIO>#W3wJl%Ij_Inm5z;2=zdzG}+dcuG zd`tV^ewUS!;MjmNPC5B?^6EtnD;ZYYY~?5N;njd;?QMp>Kuza*T2~HotS%#9v=$q< zZK&J-^2nf(gQnRaHc2xlf}Js{77xnsqnOk&J~>cbJ}%-bezP$#4d(81DWvL z)vMs#io$pVce>3v+qL|WnO%fMsyZ-EuD@#MZW$fL1H=~7?_oW1sWpYP+Ch9Rp@o5+ zzuj`Yz8_sb9Dw1^9LW{zhoQ0*M$xX{$+6D`lN;L+h&y5(Z@j*b9yU^TfqLlDffF=)(^dz~g-QhnF{g6IaNF6W281$0Oyl(xsy zeP9bNaCZh)pzO-`t&pm%L;iS3GcDf{%usZ+p3dKZkmC&s zccfn(#E%)M;qV5d28%d}4ra(7Kn`TDLhYU~oC2UAVYb=#uj2qcY5x4$S#$vhmj<_c zr~=iT`e@Q0KCfpqj+Llu`KYp}cEXou(nN|>$~cee)Rp=cVu7tXNDK&%}#8+P0@i;>@+-n`Bijy z+Jt@l^wS1Md$K)d7abc+(IdTW0FXgh>U01UJ=`P3lNm2{{JGGNTQBfy`vp#I)rJi; zo>A~8m~GWx{`lz$jbWpI{VIG2A*F#l8Tox2y>FL^PJ z7)4sVv!(@fBi2j#ARJq#;f+Ui;7FtXNOphK{L&vIrT!Nb#T$us>Vv^$X2@w1PN&P+sUfh~NP?&03r)0V z12;cGFM~Ga-L5VIxNsf@@_%i_K&$!+{QX$Uc*SUtvyGgoBPU3!+b;#Z2Cq29wA*#G z?mZh28Sv1dSrYqIZU9Lp8~bM)V1Aom-(VZvcDA0j-K$)sT+RhR8~Pm}9=YhzKvSEr z>2Gp-#)gJIR2@gBU*<`B%h-1yqStPCFu969c2_wfC^$21{B;Hy(Ur|srpfKqryT8h z28*f79whxr5LkO9Bl+!f`HXRI&W2IP|FwsyWNbjY3WjeP?&u zJ@gh|h#Z4G^=Ul|h6zAU zEcMe7-SS5UlpoTKQg!gUZ0^O_8m*TcnSfollGB~fSQfn8Q{j}| z2Q|~u=pN+J=~-iOH@F#9UT$?T>D6?-zQ$C8y08Tt4}gMj55rvyr(99^W5lmChj1M{ z2gQ+emX;4t=*$qVLkHiLwenU0d_~LM|DU59-4_igrWdsD50G@G4o?;E0d(-eIlS#G z(ba-Mx`Ba^q~0ZU@U$ILvG=;q{Yb&@^3~(v69Fi?{F%fl*0l8+CTwg4vZ?VfdKYYB8<==Q?Z z`^b$c2_pCqO4dg7FkQ5Xv`v}7OK^bi)&|Zw9mVd7uY2YaGc#w?V39@Q;PY@xaKw(*5Pzi;@+g4f(;>bP4 zq?j@)Y>p@OGP*>o-z~`T>hi*0T}P78$)Gp0(cMSS^%*$fW$mz)1+Rs6SvUkELT~~A zGq{p>ei?Cwza00svXff`QE6I7ug#Vm*9JT@jcor!jG7|6z}n3ImhyWi`BiQMcG!p^+0Hvq~yQ&E`rHI zLD`J*ht4su@>#ulh1sZ9;FkZlIA#x8^`{FH+`mtt;0(;#iU_h2#>=5sK3wfj)7Nl9 zV~z!^+PHp8MR9U+UZ`2Y;f)NZrg9zHYe8mwC+Xyz$#>swcHV5d%75k0sNJRHfS-O@ zD>6L=rTl30smsCjbsdiEIONH25SAx&(s_b+&d@TLfMbJdu*8_Y*CyJfyriStAlHFP z_-epOC$*$T*5VERVoE(7y8%7z(_o$@GuPyVYkZI|H0fM{P9Gk|=XhP)j4y>(hIBv_@5I#`H~>8rZX znQMROkCrm{(L*D<4wwM+R{+iZqaWpHptS)51Z-`=l2c?)fS~a}nb+4m9QR+p`oDkm zZQ9TG1UT8x@||wWpuRNcZF=vyf0+S*?Th^A&}ZQvJ|BBAkQ10U*a>Wq`@>3CxB~an z;Q_rr=Tpvq%9{{YSlEn#hXKb|R(!HW!17%!M<4z|ur}xGfB3pf@Rcn=qxKS>uB`?^ z^>LI~UaFelbKlpXL_lv)@2jv?%b|s0cu2qA>smRF+8|+v^<8wR9m2ao4qN;x-*4zj z5Pr3z&i!KAP4E`~v7ff{fnPf;=&}QL!Pb8L_3&Nxu{}B)km@^@-219) zR%QPwKb%CL5^no!L-1^%xWOXM%L^FtR+vg1-1yD;{-FsLL$d%qZIV-rNI9sEr>2{I z%WwWEb~qq!C+SONNeMa^Smjy`Zy@RjH6m-9b_yH_7m{P-H&CnUVp zKRDv^@ESDb1iE8sRjB;H2o9Dkb#4u8>7~J(qsaDyK>wS(GkWm1U4l^~a2vNVly_^s zj=K)$IQnH|=h=g<6TNtwgJ)PAXY%l;Z)3KQ@Nx2tSTcGa&z6if0~#ml1l7o? zI%>6ZI{3j=Z5yQn~mJ~WfSt3rt3=FyyYJgDnA7JGCZ)O%ilEiW*31O>4VpG!T{6T`^y`g zz1^0_-N8qeS3sv1{AzzR>Cp29-U1L%fAa8YY#)!>Sa8+0WD+pV(9N*FO+Yu$W0x1F zqkb$^2dQ&7US9TQ#ptf9vxx2B}g5LdqAA=_8vU&KX0S4d11gzF>x4Icg7E zF?bCELpiXu^Hwg2@?(jXt_=#^a`6zOSM2WXh7fI#CBtn?wr5~sIi3F4+h~zhTjUl{ z1_!mX=!N8EdFm+h*!XZ2kangc`~5YmvMO^@8FKbY57K1mze)!Cg8B5>U=LOD-J0(x zPafFXWb~`}4$Rp6XZ<+Lbb>!Fovy6P87$XdWwlbBukr&vUt|C!mDQdNzHJoUn$3Gw z%3Ct}?{D+@Uws^h^u`u#9gN~8h>9zx{g@7$#c-~-8>Q}LL(=3ZcjfPSK$d%9PwD$5 zfCZnBS^?RmtwZemXL~S3UIafYPR2Wxi~3_Y#<0A;>M(9Us{3)BU%tK+>Fp-Mh;tt( zG3Dq!ohcXP@FH+5jFa)W0CDcwrL*cZM&V{%-zQM~m^@@T%{um6Fd({>Kc3S3PGn?v zN6&SZ$-4%*88*7>47by&B~525FHC4M;GeSW#=!8v*zRjN91DK?>P7f13ud^7mFb}z zHBX?pv$nF@w!F$I2ie_{bQ;biBVGd@9R;W7 z+WQ1E{YLmfwt48nJ-*EryK0c&fG4nRCm89u=$o1I;kYXx?DO(gChSUIt4XPMuaCaU zv$g0Hz~|>!%k%{gd|I;gkp3|=$jwfBZ!-)Dm}Zo}%hUgs-39cv2Yb&3pZ2u+f=5Bv zr(*rKyBRsTzW>apTqY~M%ZtSoPYZ&hvZX%U0-pgE9QfLj{$_H5cW?W2HDrSg?bK&d zrof`?F4qse%9h}qfco9nK6N`A2FF(GpF;a4XSMgVlMmfkB``?&;fHTR>$VZ`V{3Sd zo~rNIA^oxQud?kHfi~D+jE&jkgBSQNk1SX__C7Shlgd$cV7KkOqIS~Lmam>>OScaA zVNkCCF0YQ@a}IaGZhQ19dADFV>Ly0)wDVu z@l!jCpQ0zY=;8CMXrhjG?|I`f*XXI^c8y!Bz6Rdk`+&~3r0twb z6FZoStT|8F5iCWacjRlOvpXnG)ye-}{79(LO;q+jC0-2$Y;=$KZ)9qO#U-$S+o-!E?=+eY%ow_i z%R$GfK-)m*?9%9|-H^AjPw~#vhzwKXGmIF`k7p!@=4}?onO9&=QqG7zNCXOE`0l%> zWcfZ0om2N&TB{2TUH%)k>Y@WXnb~d`&Ks;ALZjglxo$ee**I@C_IJuPfLwU9+khbu zaYj0XJP;2)SGgdgO6s-aMlO!7yvwvb^}vshP^hC{8)a7PVYoPbORjJ>P_@3w#b8&S z&&fjrt=F>m<(2xvef-H>j|e z>RqNp_5R53VoH3|+1e<@1%^|b-&8r26kz#}ETL6z+sW>tBCeeWQI-b?CZ-*%#k;*4ATmX<(pD*yo-*u_|{yCyM9Dg5L$m z1nJD)h9F#Dd|alv7G4CR|u6?uJ8xWkGEI_ zqR)V2oBh*E(T5*)NDpjB-6oYK{2F7PYaI79U~u)8*?FMVxq%iNkuI(BlUrZR#BI;g z2tU)>C3KHyW-~y)v>-bPd(~O5)dBobDys2$ z$6uH}e7-6z1N@dV-T=<&dmULHIP%VT-404U!Q4CCXme=vRt=;qT5KJ8NKF37 z9J{XG3DOkVZ~4&^9JE5E>g|sX*>~XMd|lAdE4^Rmyn5znvqi6-tQL$UgC8?*_qIKR zdYv)3IaE3|Xqlt_B69vVv*AB4pwmMsN8X^jvf;)&JrF;H$N%K!jC07*naRQwu@n5_zQ zg{_V)y=SH#J%1MzR@Q#XQ~T4)+AmnwUgXJn-_cH+{E%#W-H^TfuLhdfiTj z!`N+xvciXGvnxyV-&wLUV1wytfC>pd+w1A|(P5A{rPCk6AM}NbPWT0Fa0fo@%vg%8 zm|<&6JlN<`9H}qMb<0u!Hx{k>bj2?Z#+e}Sw{4TuHgKfxrYzrAMqLJCLO?Laa-ol1 zJ}2jFG(}C5rS(LQ-+4nu+n1`0(uNX<2V|fne|zE@x`ebi3Ym$-YGGMw}eJ6OD7Gk zqi;)Y3`B=s1zcr2IKiVM>C|^N+8Ic6f>+xOl9eIX1|ou)cd_w)X&2wHWj`L(xxozF za2DuiyP&SYa~OT^Hgw7^Y8FTm*dmPtDrFMn~82T$R0 zz67^{)Nz_|oQgb1i3d(V@KM(Tb7q}3uQUm=xBc$D^V^mbqHGQ(o&AujJalt12IJPp zxrZ8^3FsUeoulbvEt}bh!8tTi-kEs@xwxR?&AbhIho|c;w}YW0NIkUH&&MX8p1@CEvn}mT z|LCxt4fKK|^|kGVo%AS8BlxX`azc07YtLAWKZDl&fJl5&%Ha|qtU!JHMQ*RO%_kfA zYUkCC#fjaUcl+hD&-O7a;#8mmgNt#Jy>=|G*Ef)*B49Ts0365l+8VyMq-e#dd*EA~ z^VECDzg2miLY`C{>~j~|;M6R6JE*T-wL7^xsLJm^d=YrGJJ|>hZPk0}4X(jdJBZ!o zPXO#68i$S`?->RU$Mwyo*jxu|Wo$f7*J+~+O!Oto_&1nV?%=}Y?PI+>qLJ!I>U43S zC%qhBp|y6Qj^L^;R=)ksql~wF*&+77Eug=V`s69%uSBW$YA5&d^4#kH-Fo-^MYS3r z0bJk@P#sL_=I<&?N0T%doE$+%x-2FQ+j}W-7J~W@83|kRf&+jhK^pCjX9 zfSziGx~mKipI6G4qgx)wQl9b}WzMgBmha)c4rK6?WeB=Ij_b(Uz!;ePJ?SOtXkhJ>k1v5T^~2bl zi}Uai1a-1S5R;GMt(6{drI`F!qC|)(=gzXH)bY z=VZp3BgbT3(_-q~4ram`NPGMoIZC3gc2%+g!xELDlsdhLWRveENx z3x&O^E#&;MiMR6$Q%o>FwMz!MOH+^YzupIQ4p&=$pHF$3af0_+ktJt8Uem8L=2bE{ zZjck?Eqe>RmbERHTQ+AaU0E~eY+so!b{~BDmLIZhbH^X!{OL+Rut~G?AJU%FRaZ*F zb#JYtt+W}QxlDPhlUJS6@AN%>q;_1ml!y2B`@pJuSI5X&ZO~EAsKjd9ouPwe19%e1 z*+LZ<8(6^kJin;N=IF=ZgnTwa!VjK&^yK)o#i30H+T%U71r_Z7DO!GDKLmfuCr>WV zNvape+2wG2uKMtQkY0FaXSa}@v-un&AO2hY6oYMBB(np**gyYl6{7xDJEhDjQ031T z1hl6QU-d!M9C=eZCfKFpNRK87>}}8FfOjnTPItuyJI8uQP2+R?j-9){y=7{lsfAX^l8al9L3^RjDR zI+qTuld0Q}c$_7pR+i@^g?GjT^`0C?g2AoB4xh5YciHvZ^OSdIFneIbY~(ZBzzRR- zavsL2V;cXAxVk88b|;l?^s<4@f+9X1fnO)XAEz`q1&P-zrc7L;ZV8`oxk~Z9+hTUfNoHndq;ZJ@rc-&HXzsKHoY7?hU zXwzSP?C7$wzy5Ur-Ot(@IR83!h~|^XOm}A^U9QTbJUm`KU&-732znI(Mb7)6+|AGN ztvJAdF4b3wEc8A|x%_!Re_)=I59;(HMHu;|)S4euUq`-mS1$R11Itt~mYdI>>O(+_IQYy*kHVdB{k;x=G+O;HiU8hiq^{IrX1e zX?SbUE+H}_I7Z>%oOhhA@x%_wW7}aes?(+aw1cH#j@^%r{8N5K%sc3QDwIyHKG@N= z1hM4n_yz%jfa4s3nIvZ&Ig;=E&dl*70DSdTKB$t}q0e7haezwzY#`&Lj-%qRG=ip> zem5xTs!{a%aiaMv_l|>bu341d?!`v%d$fj1>wb)rTDzTc_pWLj z!!YUi?)wbBzRxo%cqBv0F1!oAuI>IszV@apZG;^(XT!&iQ(XY(Pfh9^zl~r0O@6C^ zPT48EqpAnVj)3_`Pd+ z^Hyuk5L^e{snGhI00#mWr|btl{A{YH$J6A;ID+BUJzTYMEh`o6nmPS91{X3K-sT)p z=l%e<{=Gis$!k-klUyf9(BYU9;aILSF`MITJQQZ>lCh1<3$JUA;0BP+fWr_vT`j;< zS$hR9wQ13&6I}gXzQ^s6q4n3%%yzFc($x#_Q*k9+n12H@(t1}2F znK*g@M!<((kg?Rx0l5Bk?wMOU{>N`>fB&nCtZFcgMn1a;*MHQ zPJ_&;1q#uNo(Vtw!K#L)*fs;f3Fmz z#k*#@=kUF^q4T8+?CK7RB7fRlV((x*829@>{64beYi(yG0-tmaH+j8(zK0C=Tmrej z`zr6G2N!+WW>>qxe<@qv?{K0Nu_F%PX{JN!j%D}I)r4%Rm(V{{Tdd>JOmc-x|@GeJr3*FL<3 zK(4NE(D4xreL6R|^I!v#$??NM89%HVrAw$p;{^R+0h$Phc*zj6#$?o`Unj zJ8L-*ygD?M^PIhMF3|?`_v{Dg!_1LQ-V5yuV7fRZuk1rSb>w}J|8{XsTl<6T4=x^D z51tV{`Kg_2+Z9Z~uHWz|jnb+x@CU{jSVp1o%=~-~@=y7EXFmzqdfBOQ(H$dT0BAPc zI8Vkp1%v8k%R#-T+o>AJ8nD*DGfuC}-G^=7j5AJzGgb$`ogJjp8=+o&lR1=vu9A|M z@pA|{R`$aP-pgyt$9G{;kUnzKORwO`*MUGV0h!#d!A66ffG4nI=7DbOF=YSh%edzc z8MAv|~^znH34F<1I9iCU6HG zIXwD`bnK!IBeO+LGMjh*_rCOIj8=30^LGSb%su_fxC{1Dg->R65f4?#I>NO&UM~oqhF3oKAcr{^)UOP1MMC$A9F6^ z1BuyaygX0$3Icqg$40BHtxiT@`j__duXce_+gS4VftCd%wE!{Nb`UZ6M@P&?t8LjAe?eX)!eBOb& z+bguo9;B``1P^%|q$Ar+K^syFeqF7}Af)!5x?t(1?U@RPlc!0CgU+HS?}cIh5#Ul# zj-J{_n!@GkvVn&Sevg59)p#hk^kM_RMxu>#<6F|67p{ZS$o@k<7}IBroa+l| zTlTWSYxJev(_b9*QDPGY94E0+XzsqjkbD5Km>fFj1%$yqU04M9g2Kqs^i-Nqt?fS{M_zyof z{~S9?c|dk@L3(xJTr6-5X!{R9leLDK8m5at_)ozjU+^4zII^rvhnh2=Gth|cgSvnI zH#08Akq*Hz)u2jjqhg4vwrj9Qhv*25bt1~HZt+tFBUSS`&brRwP8sLJKm{%Vy9Rl1 zKvN9iIqtp2TLb1ylHi=Y;|twxEv1i*K6S6Fmj$oMwq+=zkW{F_Pe=3(H+hx*4V;N-aa{6^%elONO7?W7JvlyqdITZ0CH z+hDWzeq%3w_{FPOmaz##SMb^BV1ug#B67q1;D0|4?317K*M-yQ7Bc{HC|f(teyR54 z$=_bu51ZHP)`#T8&a)}0p3`A9JtNjJg(La z6+O^(+rvPmxWi>&`=<@a9ov(zfe?H0aO>WnN&Cj`eu^zFbRB5}#}2(>cTi78Ji|#V zfpOSU1mv$IyU#Ba=D@y+KRkmIcg3AulKQVCFDqG3#$b9`LeAdu9yr;*kbhx5DE{E$ zLi|TZ!hHmj>tIlI!7nU8=A8}UbuXX}30eb~y#%(BiM z<+f9uKvyNepTDv)3va_+qid(v*!ct3|HEoW!m%NaL-{(~u8lM;ty(_%Je{1ysiu?X z7gGAPCaj#uMzUvs5k~gzJAADcnNl&s=j-5?ufuE*u#su70knZn+VWJmj^WGVaHg~5 z9lZj6WX+(b4x|BRuLG$^2Jp@=Y?-S>$xInega8gic7xu*ef45=O$Gz5zi0b4?dG$u zfy*)FA3;>?EO%-(^U_6qkMXRmrkOY;y07tQ_JBY zyx7dJ&@_ms9ip!G=1@ia*MLSKHa}{Dlu<1P>mh^3#*&?1TJ4 z4eoJfr>@HPwDz5vWbAjh9W`bWUIYlU_O?~d(|E018KdjJr4PCvN)Bz~OK#q`<}eLP z44~Mg*{dKb4=pl-tpiSAH2`X%JKSMRCXXx1>_wq+ZFWql8w%QBs@gX*qj8<-xV#kFs5tbI3V zi;XJ@{A@p=E;d6Rc-TSl1!{xrO+K!_`ktT3?L4>kY?k1Eoi=V?Y}*?&hX(uLbO`rs zPNYfZihrYHD;X`lJ4$MDZ06f_a*h&U+W(G#j@F9ww8~pRKWLuAL+Hur2_?MJ`}uO4 z^YiRe1;f8s_(JPT;3E$O*8>*@9`W#&OLv(CMv zjIq>*&qk%G2X8k!DaUr~I^`2AlYJSBHH`=s@36w`r1Vv-AUJB?CR5dpz1uS=Px7&)ngCUW918-b9ClCVS4JU zCNi_b-pfyW-1Zg3B!Sk5@}SJnwR-l^VLa0i7-+?P7Bc#=uCT6HgO65+08o z1mzV!w@?K1yNs=V9d-C46x#qxzuKJm9hgKZ_}!~(TT%Nu^g0O35v}TieWljkSHAr% z{W|4z#|}1t*lU+`WV<$vfBKVV52p{RpX~On%4sQHG{^twu=nB$5AQ*;$g&&O@j+Zp zBb=7+`WShKMg`AK*2ifB0@zZXLouGZh0XbBfjH?oNm;ADAjrh#;JLQ(Mfx>;>Q4=h zr#?M@k%>-y4nN7SXUbgLriZ|5FCXgRN8#gJRaeJ=s5o;yT6{=sC_&wCM0k6pOYgBM zHjrL4Kbw^!u6J>LehtqCk;$AQX9jJ|%Mt|@zj5BIQw?=`$A;OT%rqsRL0x}~@T}Fhl^q|kz6OJM6zRm90aK?eF z;*O&VuMAF}r)|5$R9-^5^qIx#wC*v~2M-BYM*hJspCKL@QVu6$zK(G-M|>x+I#?H^`4ii0;xXI%fG^L)-VZ_nmaVsP=Dp zXwt12_uD)K_s{?QpMLev|LLE9^~c;hzn@>_+-nvU6aRDG?58#nKJS3Cs|g(N3C`?J zK%yBm=>9I@_hFp`p~+}T*ymE?XgD-D!#5e>?5sC<1SYt&adjSm>GnZ3W*QEaCSC^*)#undrm&`)0!esGzCNg5ze~H-LMX z46JK7&8Fzs?B0^;7n$v<%qHL{|M(0;Y({;026XMqu@1f?%oL@J4O!m*>tAD^kw;zn zfY-nSU4w!SJjjTKnmNLiL+iPQ@9K!18b83(d%=_?1?+(KQntE%Mk23a&5ovD7%xBH z=OMBEf!8nAFZBa7UWkkKqaC87^R!iTS)LJTdQNUej_JSQuil4$gM^ae+xWYs59<}G z`gHL`QRKu!eF=Pl?O&0j6xLdKFzutk z(Lo=g!NE>?doKaqTSS)Le-|6$E2@u_!-=MW=GNSg?~+@w5w9kav%EW~Yfx{l@?Z+S z!nR&cThC4geh#oh%aZY)cP_l}`04a9{0C4U7rv0JVLt%=`9&DIbf21+_c!RL>@9Dn z2f<;3LLP(#cnaDuM_1H#N;$nKDF(8P-M8+H>o{qhlNLEa_f!Mi>mI{AIcpz5u;aM3 z*BKa-PG)odgXQu=ZbXA~|K*Vr;keuvzV8{&AdeH)@e^nnB6?ZZ>^bLsOmt}N15l#} zSUXoCiOh%h!X!({U;zLLL^k}?=yRSbZ)vzkV@tqhjDm*X16QepFFKam0p57h4%~Xj zGNl*AP;YW|#yXJ>xu4#&k^}A^^2ySF`lo;FD_46>Ew4%4ztX|i zOTTDTDtZpTbOg^G6m?*9cvUg}CfghrJc5YLN<#-MRv)5&_8|CcKWQ_xeH$I`aIIBl z!{wnF%Wb9X+GaV{9%QB%-KFQ`W>l4}qrJeQrOi0bL$UHD|EB~Oa+b$jvv+MID0@DF z4VX3mF3$!0>z98@fG1Dvg2CWF=lZI1gBTCc89=EI7YX~EMVv6*;2W)Sq<(Qsh7Z2b z7CLll(1d;Rz{Sq)d*Wo!FWR?r4hFw}Jx@gY!54MA3X!%b(faxEu1uzSTQQI^o*d<) zA;>)bBlyQ{n0fuVa0edw2qOXPyFNI;Awda1iLlT=A8Y=i!;+E$D$)Cn>T?>eCgl^}ln{LgzUN zZnA0r+ga3}j+LvwdSo&x{wlK;GnYQ76@JT8DejdAeXeEtS3k$>Y?U+mp(AY~u*?5V9Hv=NKg<(i zZeR4f^a<2H?4;diTkA(|i?v?b#jLgM%MN23xPr^?FnCz7b`=_9NuM!z&b{#H$ZsM1 zx`QDrUVhar-;vKC(BMcAB!PMxG;MXp;JgDRGUS#Vn0|;VuP**E4?}8O{n@Po?T4R> z$Fb+#>shw-6FPZpH9UR&tyLvYSZ~$r861TndKJihGs7Sk+O-R8cZ;pZZUnV1--oYF zV#WhFvVjhxX|oLsTn>f8vo%wGp;srD+CWbC{D-zy<-n)-gVbwq0k}WsJZON!)FYVu zwartBP5<~KeeP`s8W`2tV^^Qh4($3&AVlZl8RpjE7oxXLjLr%Ss-XZxFTNi3IS zN_;8qLcG^<{vYLE${)b~LZv7BIVpjT?9@N$DSb{-@P3|4WS^{avcp7LLk~!Px9rMp zwHJt7FW^vUN|K?$bjm;d>CeCV%b)*}AijXX0V%f(*apbHJS0z}c7zu?OUJlUr}^pv zPEvQqw(I68OEAHU**PauzLKqTa}4i5tFQft4QD?-?>)(YqQ@f;e=TL0QYmW(=WGey1n$)8n-n ztYL&>s=lfZj#Mf{*js9L*w$Soz`Obj$Y^{ zv{c7K`OI;timZ&TJ44J--!7gy?^I+DC*AhF_NxsA%+1;@J)Z|vqazQ9nVA{va_X1} zHyO-i@Ebj=2OquvI(hoB`g@N!pNvVs+iOj6x7GQTX#)f8N{8CRlhW>$nxTJ@fr8si zZG(u2x8?`F0f91-Z$Myh?Lk_D3_Q}2LDvrnK%w^NruLa@dD1jTXA1<{3!SZa`Ql%K z`gdQ~p1;epFYQ}thaam`OT>F$y0;}tch3vJTrZ_fPcVnq^7~Ie%{CBEacMh#oSHWP z=$3lz^kmRM5tUlcwGRJstB`flZeMsHau3iuEbOmzYDP}78o=oLKl#bt>%*#xpb8Su zv)A;SAfG*-LD@=MKFC9b3@Vn17bi-6h0d)Tt37NA{o1Sw=!f=|_u@1V5Zu$ES%uGe zx`}bcy|sGb4)r(M$*E0!$ioBovlDH6(>co_!^^PrD!CBPaST6~IXMJdC%gYy`fn&+ z^j?H#>;ZbRa`K#?%I{gfK(|#&0PqXJy1v@;2_ruZypPWwAO1QbMU&+w>2UZh z-iOoE4#&wu%}H0L(^2r-hrzyx6N@7gDB*7~iQH!8y-%tQ{6$7HGY%abp5X)Ej(^}f za|%hT_c z=S%A}02&nQvbNFd=sBI<0AX~s>sgHnTd4|#%`pom6w9lD^+{+7tMtreAJBNh7UDR;DG z*Fk|Y_sx}koq%H{M0+(LAN_ixfQ^0gO%J zTAgao^<{YZm+5S}fnS?-;E?Abx*`x7UFK!W`4Zaqd0&5nlhprWy0j#0BElZwkl?+^ z;7gl%ZS%`7U(c7w2e03f{WN*nCUw_DMFCaY&eaR;MW3>_f)|pYxWGe3=0YY2Le%}q zdq7hHZui|!eelWbteZ}=-G}3K znI?8t+pT25Sftqn z&`$zZ8meUm}XWVHn=joJR)@WXi?KOKLU*O`jD^6+S=rWeG z){z@{BacOS0wVKMgwrptC8YN=1GMp+~n2{hh8%O4z=*7KHJ93~IghiL= zeQ|;@7y&?DgIx8vQ8Zk2jwyF^U0DzB9wJKvETET%J#^Nk>EQDx>3Ch8`Edh^Z}Jcv z2PzM*K1}kDf6OOd^B|n>wl^r54Vf7oXIV@`S01#x6(H@7hpW%(Aa&SKX)DP&JkM$k zdk_QzF!`+>?0z)72CMA+%g}#x7}(Nm!*_S2LuK?+CA3^iv7CY>BPTuYaY0l@`EmqZ zFuXc%PC!z29BcJHpyES;O#OgK;3T{n3<==1i?+2}25aBDv`lB;XH#qPZbp1gdn zIfSq0Yp%ZA7RL_A_hkml-{;e((w5>E(3^qJp4{Wwu{c7@)h)k%rDdm%1OIS=F3f8c z_DWmG>c!b`z^t;w-q_Ni)}rJY;6}F{fTz8@8cBxgE>#^{H!xN(q^qOiKIjM6;@1xN zvBTSLW>;5A&Z|(U6iUio!Q) z78nE(1x8LBh^L14x>}Z35YJzPco4KgtvL4;rVK#HcF2_uT1|8Q9cc$Z=j?|Xq8BXA zq350A-1GFamQ(R>n5|7cp_|Yq?7XudJZgg(_Y&E^R@}PoGNi3tf3tb+uIdIUQetP0<`% z^4M^eep)wVoC%m#Iv7yj9taJ(_$hK&78jH%CmjYad9=}wnXOtyVUGrCeP=y{(xi35 z*Ae4GyScxgnz6gsUd}DMdq#pi;A?t9VYY%hd{{a9!$15!b-aJR??ebHo*yv8V23uz zn+k-3%fO;5eW|D&ckej(Q?^uTig&h&&)EQ(1b2G#qcVI~ZH5fV{4vYIX6?OakN?tO z!}tn`{C%EPL^uo%zVN;C%Co^Zcx;RV+{{+SR}gr+r4N~`?8$G96sLYmDhn)YQ)f*L zYHKfq8sJw2rCgsn^;1_R%eyFAJB{gC3QzHCiw>l6M2$YM0gnE)h6mT^^2;pG*T$0z z2I=yQ?)8l+Q@flO2GnrzI|gdvgKr?P5lC(uOs324ql2^vY?ed)RFLW$hlzNdOiY=J?8LS3|bUXm-va z!>6q{DjUZwHPGcq4t(H=4)2mY+??PZsQOKvuo)}|_vkHkI=HiRn)WsV7ZB3@8=&e8 zBNNBqCl?82X5fK1%c}VD{8#J4p1b_IW3p&sq1|{V0r%J;|b(C^-u1%pW!4Z(b99_aUtrlYb zhVG1OQ?IjQ^r8cBg5z~m?=?^D^4Ig?1v_5At{&Xm1Z>~F7l8G}AG0bF1l1*-lFN1V zkTWt{;rSxl=f`pHxsESqkD)05vL&#^6v9zN-xoePj!H65#|TrHKo zk-1r^8t%&YM+Je9E%z1BPqi`li3$ZD;fDf5&CmW+StDI!BeJWX z53Yw~nrV%<(zaCK>px=*45Hh(2CgG;=>6%-I1!F}4OW#FUXYL&&Z{xg1h-SPRp4wB zmKXY%Y%M(X#=J5O|L}5^S1PHOYX*6b;7B!xpi|$*A4Os=Jtw_<*DYfR!c%v$v?J7{ zRvW#$$(h5AOuWV=k|QcNpj@4p>9$TvpJ3LU*A8yMf3x)Qz)^C-TWa5fQE(b`agH`l zN!{VkKIJ+q4bxMX#1fb}ZoCPMULCW1+W~@QTh+2vk-;U9yYJ|MA|wAV&r{-kCp!4y zjVr7p#1HBEU=A9&_7rw!=KaL$A2K7(hfna7vZfrXsa%ft>2?eREVdID+d6`k*(ql$ zA08_YW^u!r!&{^xRejN)TM!+19>3D| zIOi4SfsZV=PhMJTw zV8D&R6oiKSz&1apl^cSj3#Pov$Z^Z(Eq>e0LdL;M4{rdiemFeYv)`-l`H>-e=Lhz)v z0Ugm#yhoU^&tP*jLA8AWCz0<7(!ZdFLB96G{knFBT6Rq*pr5PdePW;T3(|-UWQ@yi z(G`kfl7YWf8Nkk;%v1lxNHR`R^OYVPC+l86_>#XtOL9J}x*EwYrxYE<-Yq9JYz~ie z_duMW{^JcySX1}ZsZoT$CP*{rHcsSi!=QGUYR)-di|X}(b-3jLu54l2>6}Rb z3X^L*H60NOch1X0X6KdyIaE$uM^UUJ>5L7m?Sa8{BSFgHmo4C1RpE@)(I$eUKz{FM zo1LJmqr3mvCCb2mmnF0xvYdvGI(7l|ac~JX$#2IkzpGCc&iVIQ8ul>U@6PL0mPiSE z<#n{F+T+EMV^8I$K+x{PRsuRc<#Fx?I=Qy7gYUncF0LuCmIkXh7xuydT^ZEjlpq`J zQJh_+4@3_QE*DuCDKv)4m-gHF$>{aXf$e3#IGK!KuWZhr1b<}uEVf?#Ix0-Q0Q}>T zv$s#eQ@^_}u%~UTo(Ym;)j*G3MCS6Bw){K}JG$xyUvOFO{v!3Nqg2#~`V593pHH|# z21ipEuI}hx(2c_;n{u03E$wI%BOo(x_zh&P9vWmK6I--2``hn+6WhzZ{P6R`nZ-{t zkve$|9>K@A@c4A0Z?-?2V1g&QaRfho;dR00woltR<+JVB!Lgm6&N8{rBh&eP;7(x2 z?`@}IhX3ZZAiFY!-?h_efOBaTAVr6-tLIz>EV$I6{hq%lH8;9Nv$=(nEA3+U&X0~x zUTv)qaNaE$IloD5{OE^ZzE_s^)7RIR40QPngGcp*T6MM|H4gMY{(v8v?O1C6b8fZu z_dPP;)6QK1I}f_S^Wsab!u}e{m-G?He>o<{oAG~_;k8xKT&#Ve%X@)_zAc% z_f|d~$~cTC<05PQTx0k8-ogj`4aERtK%2kY#e42m=gEswDQU>YSxW*|oF%gS?r-(C zET@w%`zY6l+jf=TWvVo|*Al+*gnO6y&S<-M7FeC?T$o7{#}*jvjINyxuPMVqjXc-) zc!TvLH2xu!a&mdO$0t7q*Nzth4Aa9m3I%x~xrl-*xJ&o&QW!MyheJ*fznsJ~!ydMp zcgPfSN)Jr0t}MAGSN{CRJGW-r$mL27HfF3|_fMG`p?>PlsR%3r(GBSMx-%c`!%>y1 z>NM@4@v}V-Gv;2VSCr=TcaMGd&Ck*|SyLB|Xf&PCH=2D?)bGdp0@+Vz0FWoFp26gW zb3Af9NQ3;+ySgrT@VIVXcxW&WVb|busO)&gzX2I%>6$%Q>NL>SzJS%)KraD3c0?wv zBD!o~v^Ix}K5IW=L}2EW|DJ*4XP{o;F`_)M0W>X2-z-dCB|GhZsxrb@bPO@4R`6kA%4v zNNg4Kh3>MqeBxKk7=!bVfZ@dz^*5M@FP+|Yc|4?BvnC$lI2q@i$*EI$a_yM^lCpOh zFmk0+<2-&Jt4xRjs)Eei()m&K7jlMfH*nP`zM9LPTEv=!H|Zy5e4@Ydkiv zWd_xUs5nD%rYa}qc8bpV_spU!wafQG76ICb*5B;T z18~31eRG3{JvcdCto3MT8p859t1K-aXylnlXtYhDvmdf1T?xqc4T^f3;alf>+ktM$*nwBdwGB3jVmbZ>?A71WYV{CUM>9063Fz7#J`c7* zU|^tds}&irt7BO@0r>ko2)SE6ew-=%n5`j7FU2?>uB_uH%kUX^_|-l4+5gE0W@0Pq z*Y5-fe1l=|I9Knp+zQCm{723}%TJNi`BU@zXU^2P05y51Aa6vZ% zO?7>2JgGXS=jt-P1q1nqkbjtXlmf>oYt6~4T)P`Q!S4^&dy)K9YDG3 z5!sIu{Ew{!SJUC6@E=q-3GTa3I%f#fWuWmewVKmvjLsDJzGU-Bu>KmF>jc_m43;84;FvqiCSB14}2 z8$E_M=fsFKe#{DSn{>`EeY7iE@*Q2@PUu)3!+C=q2{`g}c1M3-WZ3CQx-tTvzk|29 zmAcjm!Yoc!!+ZuyW`gU`RvaFOd~m7(CN7{)|EEf?Co616HU%e@O0u82!8>Q7dQ&Nj!RkfJ+f3cZAch>EmDw0K+lC!^UFpoHy zNmh5y8k`g1aKK;+1~ULIV%tV8lP9x!eV%Yd3zgLbNTMS+Q`{hxldj6GW(Ba-O?3`$ zv1>Va(yV=s5F4xKb{u={CiVDW8?OF<5I( zgK1M6X#2rE6@TzuSau91U-Lh9SVm5HY>b@s;e|YUPQx|@mV`dpXW@e1;iLM%_t8@) zKY?cpvly@-$UFN#&TE(1YV0H`ak40I0LBWv@rkO>S3v^``eKSw8WjKC)x_~_U@4_DICWz26nu>e1ODQiGK zGsq5l4K&Sh&ky+&ko6CeHf=cVcZ+LpXu%@~(~nuZ{KYrSgWX^?tG>+$VfkXW6NX1}?s~jpOJble|6~o!5hg|CXmM{1+F? z%&`rpwbO!3pQNF)yENykj~-K7`VB;P6PUEUT34`|>A`h6U)z@C+rKtTlP(T4U2u^4 zOyB6!uBdafq1_TcnQOd)p}V=iBK;m6yvdK1JkC;T9Qgz+aFVfJod%!0PcNSx!X0OM z?9D{Nq{s@HDB~+KY0T;jE$0HK{?cZR8&7N%|LAz-EPv8h%lM*>gEp1}Uxj;-84I1az)oyUn+Oy{-e336-TH#4h7m)BD6zyxY;lf*kF}uqa zG=NYhXzh(v_047&fLQw+HlwIz%FlRh*#!tXyp?#ecyPeT;>)p%jZQXFnFMA(&bN7I z7z)}L0&*2&W$7*-nSx)RIo59-cyhxffu;Y)+5K|tCuMXtqc0jv`(P?=3{}g)!S;GN zBd{*3@CQDhsjdP@qH5|=G`*hl&Z=%m9-`DLX$#MZepTiG z;`amk4e$RbS9-(3JMByPoibcj%qgG77feODnmw$XI^QY3gw0tb+zwTh{>#9$vYSVs zW(J7In+^Z~KmbWZK~$G_xF;y+AOS-2uI$oDV;~w1UISX1Bi!lymgH;cCR4-ETP+J5 zqe)vv(Ltq?gL4gQR|Ci}$kIi}Cxs=SHe+zQK7U}9`9tf#wpAJ&(n`a}4X!xiOgNv( zPhgivhlB=eSZz~n!8$gz+?SNH&Grn;d~iU%Er~~o6XPt=;fQ8nLEvqCRt=Xfo#c&5KmX^88tT8$3H9 zRz$zPn9C}=rM?q7{roloDqR&Jf+KzV{5iXd%_R>H={gZe+1jOga#hyI(0)vrG`nhP zmDjCy%QiT6V!)o{164S-1*f0_q2TWhcszgl>0Aa7!12*>m3FIZ)W&+NnU-(=&BSt6 zfb1Cm+V^#|F%5RgpIv?lM-g>Z+Mt`8w)`G@Ckv^pPGVPm%Us4_b>8jx*c(oCha0{4 zp$$^Y>^Zi_lJ9Pk6Et(6dw=7c!dH-0kAh?;Er+)P)4?FDou+LX!je>g$rfGkTxD>M z?`(h2yFLrt)2DV(qGNrPatZFXZkw6d=`Z(3O#2}-w8PP{?O0K9;n7Z=-#f3UXQ$^y z?#JL8KK|IHnb=YKSDW{e&ZumsCa2V@lkTLP%9hJc<~p6)yYH-%l2DoB4 z?x%w3vZO6@OwlPVu5M=?BQE2CSspY6>%2~@v)KvcGr$dqKxl*ESX{)&=}^#aFpypX zGl!n$YjoW2o(;&s5PCPdbYrj~kopWp4%#*@l&>>j=%miN1J9kx$oZCTgV}a_9c%D3 z5X9;2%Div*t4uS26Zi#m+p?1D;I__fRpW*J^$9$);+|hK^X%!*xo)OC9&NLK?KQ7{ z9@RE?oNQCXslL(7XRm{f?ufelk1h*K$)_D0>?GbO&dBbO0IrQe+d~~XJT3_p2A#-U z{c-l}DD^v0MdL=dY~}0p`{8qWE}vLyD#f#vd_a+~v2U37etMH)vYJ-A#&h^Lgqs}KaEgM~q{-y}*r;~XLli_D=X3pnNXOBjh#TnUbME~Whc(v8H zy>I7C?4IUwOkeMshQsS}4B_-MzOFQcLT}+x1E8l@2JzL})wG$kyR{tu(2^87{x<_U zl+f*`Bp!SXvH5;b@y|}u6W;jbZ>&Fnr9G&+^5IjX^RppH31Et{jRNos~h^ zu;JTh2&f+%34Ar!>EK~(z%EvtGLpz`_TO109mMFAS1!P9K(_mqp*mB`0NiuX(+6KO zX2T=?gSRBmK(jbUlIl7^@*^*j;e3CIB8&`}+Ju zYF``@y472FD4#he*9PrgT6W^Tc4wHc#KJW zZ(tmvsSBN5jhaB|C-*memi}|o;?Kb`4s|AGP`Cdg+eaS{KDGmISFWK`T?JRE=lou7 zaPEsxCum=Nk#g-w0EV95d^QvQ;ywX^&+r=H*RS4W;xW5B=xX~a3k3n)uLf54s6?mQ zn*h+m^ie9B!ds60gs||0A9mecBP()oi0*=CdDT>(@iF8e-`cTq{0MTh;-3kEHVtl> z6!pCT+8Imqqf(N;PNqnuzPo%!@M}|8l?VPw=yeCNI0BT422t7MfjzVjS>oWmm%Fq=7j+(?iF~}hr}#!rHUP@OjXhnS$v5DK3;NBm7Dm0;MR zG_d-1#$f$!+HFiRMhbWMJ*pUek*T#qr5#4VOSUU>pw8j0-BuJbUvPe4!Z zgXv-UoPDS(jxZO2W&a*&S`QcZh0TM8dws&5zX$lBKnpm}G5KbDRCaJSHv@C7cTJsI z1Mi3Y(8fRV+tvnUji3fM4r!$-u98_=2PuUIsGkP(Ift9^_0O>%vuUtrP&0-&1csts zmk&LRA0987%KCo@??KyfUd4ftq`~z7<6-i~tl9c);pLpr z*?S4xH0prkU^oIrRskK{Ip<_Ja7R=)I@c@(VgtrNgMUBtnAM9w2>E~|viGnj4tk7M8jys0ejB}iNRy3YPpU-9~Nuc7Z` zU}dL)&gP@j3FgByy?_~2k>2@~O@5qqVN$>r$VUJ40q>|WCHjl(=Tm1N8OE`XqiO?) zleT~4>4;KRk9!O!s+-U|nISq%--9$iV^kjk(MT^9 z>ubV%^6C6ED!fFpo6|?pa*l=<3H35b#f{B{Hdw1QyL?>)gzrwwtm5+N&6?(_)lak) zTSKp|LVq?*KUYPk1Uxp_QiF=iKt6m$U0nl$AZ~Wmy7-7U(WjU9xTG;D z6PDoVcDTL?!Hb8@JF=Vem~QKpoew-(<+M5*1UXSZL<&2$I3=}g_1L^m3fgqqZhK&) zF0c5_XI9}Z-EANq9WFX;>r+Z&+RRFPh<4(bSd`w1-eMOfLpd+4e3b(-r;q5m=RrEO zjltO+9RJO)#}DO0?#g6Eu?5>wWAaglYCcNM2vfTG;>K-CYS=uL{ zFT@l)Xq3A9+7c+(eQ8-3xZerbrE!nA`FrUOYhiwA3|7ScAT0`l_X9Th7(OL;3z>?N zZ^y+Etil^3xz2=PFq3r-Nunr2Xh^`p9*u1oE(R1$sJk|3e0n z6_q!;xfahWaIC$vJu5gt-C#w-@5)=P{UV^JpE+2MEbZ#N;)SlG0Mqweo3)1)XRe() zTfHE}``Z8dFMoaX&7Z&NWT3hwe;QAo1HI{--Zl*#eXcL)?Gm~m6Ohw3f7R>ixA2Q4 z$F$YnBvc@pEmtouv7H+F`M@rL8(PET2L0i8V1^HHw6D>8vE6b{FDbgUx#862G#J}K z&)<4!22~{B2C}F0m2rHIhkv%uY zU!lMGuy?ie0XP0LC96#ts zUoQWQEb529;qkP~VbKJA>|iBBY_e5@t=tEmY%0#7bhNMRX}b%J(g|p7Hgh2~*N4r-VtCr|2FI0xypw_t z>SLg=z1QxQumYT2iJVu-@H}-7pf2zS0bNu7nbU;v)VI7KsSKZR+PZm{jvSaom$ZV@k?sR*$N ze)_2faIfdU)VM<5z#Bf6FP%SwiDBFa^)awWnKtvK@txF+!`~2vIG@1_uyrx!3s0La zW20Z+!|$Baj{iBrF!_>Qke1zl9lj|1vWX8poeP4!BRs*mtMeSYYY;4b z_W2B8dKAoU&%1dBZ{7&^r*FQ_=TCi^jLQQi4TLS{bz+x#WxwQcR_~_(H-TTE2yb|b z9e5Fu2>=P$?<=^1-$atXVb8`tEp+0N^ThM2w>wM0HGOt;M-JKG(MJC@utesr)~hqx z3ZL;`KIF>OCC%NYSHYZel z*>}pZEA<$d0mva`YkTEGLvW|TIRn-5`QEd|no`;GX`csyW59^MV9GB*5>hXDM-O!8)8Z7i1dqR%-=rd6`)@g-ZB ze0Rb-$GNAfgjRh=E1;)*S}ukyQ#u$gw8`X6aY<#O#n;ybeAnixyvr2s4`F_%a*J>L z-C_OXEShazzUAiAPNYD=((w#>9pEia2BlR2JvB&VHtU9)S9x<-15#$L{c!^r@7f3Y z=;%bLvggad*n!>@)0jv`O-&KF`z&CAU zGz_PoX*)O|Et3%4K9{k8O-dD#V|oh6+F~cSRC;BuW%M?gv^aHmn61KDg($z>nLd-M zSuO82cW#KwB@fQ%{%11jj-EJSeJFo9wУ`P(qeg0YB+n(#<8K`L4Z{b93wUWiP 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 z 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�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 literal 0 HcmV?d00001 From c708b0ca1b2b3c93d44e7922268b265ba629184a Mon Sep 17 00:00:00 2001 From: ZhuLeYao Date: Fri, 3 Mar 2023 09:32:48 +0800 Subject: [PATCH 028/470] Edit UG --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 56ee3cd8575..ddddff434f4 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -11,7 +11,7 @@ Duke Driver is a desktop app for managing delivery jobs and contacts. If you are * View jobs * Add jobs * Reminder and notifications: - * Set remainder for upcoming deadlines + * Set reminder for upcoming deadlines * Get notified as soon as you open the app * Direct messaging: * Linked with contact list (dummy) From f2aae4386def5bf6093171cc4b96d8e9e2753a0d Mon Sep 17 00:00:00 2001 From: ZhuLeYao Date: Fri, 3 Mar 2023 09:36:34 +0800 Subject: [PATCH 029/470] Add Le Yao's PPP --- docs/team/zhuleyao.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 docs/team/zhuleyao.md diff --git a/docs/team/zhuleyao.md b/docs/team/zhuleyao.md new file mode 100644 index 00000000000..baa2de46b10 --- /dev/null +++ b/docs/team/zhuleyao.md @@ -0,0 +1,32 @@ + --- +layout: page +title: Zhu Le Yao's Project Portfolio Page +--- + +### Project: Duke Driver + +Duke Driver - A contact and job management app to aid delivery drivers in better managing their jobs and customer relations. + +Given below are my contributions to the project. + +* **New Feature**: to be added soon + +* **New Feature**: to be added soon + +* **Code contributed**: [RepoSense link](https://nus-cs2103-ay2223s2.github.io/tp-dashboard/?search=zhuleyao&breakdown=true) + +* **Project management**: to be added soon + +* **Enhancements to existing features**: to be added soon + +* **Documentation**: + * User Guide: + to be added soon + * Developer Guide: + to be added soon + +* **Community**: + to be added soon + +* **Tools**: + to be added soon \ No newline at end of file From 50548b14f1e89784bb0269f898512050941fe360 Mon Sep 17 00:00:00 2001 From: ZhuLeYao Date: Fri, 3 Mar 2023 09:43:23 +0800 Subject: [PATCH 030/470] Update DG --- docs/DeveloperGuide.md | 49 +++++++++++++++++++++++++++++++----------- 1 file changed, 36 insertions(+), 13 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 2ab5446fd54..c7a3963df0c 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -273,18 +273,18 @@ _{Explain here how the data archiving feature will be implemented}_ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unlikely to have) - `*` -| Priority | As a …​ | I want to …​ | So that I can…​ | -| -------- | ------------------------------------------ | ------------------------------ |------------------------------------------------------------------------| -| `* * *` | new user | see usage instructions | refer to instructions when I forget how to use the App | -| `* * *` | user | add/delete jobs | keep track of my upcoming and old tasks. | -| `* * *` | user | mark/unmakr jobs | keep track of completed jobs | -| `* * *` | user | add a new person | keep in touch with my clients. | -| `* * *` | user | delete a person | remove entries that I no longer need | -| `* * *` | user | find a person by name | locate details of persons without having to go through the entire list | -| `* *` | user | hide private contact details | minimize chance of someone else seeing them by accident | -| `* *` | user | chat with my clients | retain custormer relations and maintain more customers. | -| `* *` | Gig employee | view my aggregated information | track my earnings | -| `*` | user with many persons in the address book | sort persons by name | locate a person/client easily and thus increase delivery efficiency | +| Priority | As a …​ | I want to …​ | So that I can…​ | +|----------|-------------------------------------------------------------------|--------------------------------|------------------------------------------------------------------------| +| `* * *` | new delivery driver and Duke Driver user | see usage instructions | refer to instructions when I forget how to use the App | +| `* * *` | delivery driver | add/delete jobs | keep track of my upcoming and old jobs | +| `* * *` | delivery driver | mark/unmark jobs | keep track of completed jobs | +| `* * *` | delivery driver | add a new person | keep in touch with my clients | +| `* * *` | delivery driver | delete a person | remove entries that I no longer need | +| `* * *` | organised delivery driver | find a person by name | locate details of persons without having to go through the entire list | +| `* *` | delivery driver | hide private contact details | minimize chance of someone else seeing them by accident | +| `* *` | delivery driver who wants to provide better service for customers | chat with my clients | retain custormer relations and maintain more customers. | +| `* *` | delivery driver who wants to learn how to maximise his earnings | view my aggregated information | track my earnings and other statistics | +| `*` | delivery driver with many customers in the address book | sort persons by name | locate a person/client easily and thus increase delivery efficiency | *{More to be added}* @@ -303,17 +303,40 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli Use case ends. +**Use case: Add a job** + +**MSS** + +1. User is on homepage of list of jobs +2. AddressBook shows button to add job at the top +3. User requests to add a job in the list +4. AddressBook adds job and job appears in list of jobs + + Use case ends. + **Use case: Chat with a client** **MSS** 1. User go to job list/contact list. 2. User go to specific job/client. -3. User start chatting by clicking on "Chat" function. +3. User start chatting by clicking on "Chat" function. Chat window pops out. 4. Start typing and sending message by pressing Enter. Use case ends. +**Use case: View statistics** + +**MSS** + +1. User is on homepage of list of jobs +2. AddressBook shows button to view overall statistics at the top +3. User requests to view statistics +4. AddressBook shows total earnings, monthly earnings, weekly earnings, daily earnings and top customers visited + + Use case ends. + + **Extensions** * 2a. The list is empty. From 1cb9891109fbe7061628414c686bfbef55c65d0f Mon Sep 17 00:00:00 2001 From: ZhuLeYao Date: Fri, 3 Mar 2023 09:55:04 +0800 Subject: [PATCH 031/470] Add new line at EOF --- docs/team/zhuleyao.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/team/zhuleyao.md b/docs/team/zhuleyao.md index baa2de46b10..7db93089496 100644 --- a/docs/team/zhuleyao.md +++ b/docs/team/zhuleyao.md @@ -29,4 +29,4 @@ Given below are my contributions to the project. to be added soon * **Tools**: - to be added soon \ No newline at end of file + to be added soon From f5d5081388c566404b80421c3d1e4c6354f5163f Mon Sep 17 00:00:00 2001 From: dohaduong Date: Fri, 3 Mar 2023 10:10:53 +0800 Subject: [PATCH 032/470] Change UC format to toggle list --- docs/AboutUs.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/AboutUs.md b/docs/AboutUs.md index b0af6cf4504..1d8e8c98583 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -24,6 +24,7 @@ You can reach us at the email `seer[at]comp.nus.edu.sg` [[github](https://github.com/dohaduong)] * Role: Developer +* Responsibility: Build and develop Chat function ### Chen Zuo Hui From 65fd55826db2deb8b6545da02ca99b9df2f8a38d Mon Sep 17 00:00:00 2001 From: ChinJunAn Date: Fri, 3 Mar 2023 10:16:54 +0800 Subject: [PATCH 033/470] Add responsibilities and modify PPP. --- docs/AboutUs.md | 1 + docs/team/chinjunan.md | 14 +------------- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 4477c8f39d2..08d089a6c49 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -16,6 +16,7 @@ You can reach us at the email `seer[at]comp.nus.edu.sg` [[github](https://github.com/ChinJunAn)] * Role: Developer +* Responsibilities: Notification and reminder function ### Jane Doe diff --git a/docs/team/chinjunan.md b/docs/team/chinjunan.md index a9958a8f7d9..f576a7b8fbf 100644 --- a/docs/team/chinjunan.md +++ b/docs/team/chinjunan.md @@ -10,20 +10,8 @@ Duke Delivery is a contact management app that also serves to optimise delivery Given below are my contributions to the project. -* **New Feature**: Added the ability to generate sequence of jobs that give the shortest total distance. +* **New Feature**: Added notification and reminder function. * to be added soon -======= -title: John Doe's Project Portfolio Page ---- - -### Project: AddressBook Level 3 - -A contact management app that also serves to optimise delivery jobs for user. - -Given below are my contributions to the project. - -* **New Feature**: to be added soon ->>>>>>> 77e43c51a95e9dfefcc45d79fd4406fee3147c76 * **Code contributed**: [RepoSense link]() From cc91b985c7235bd4f52128531649689e1d517d71 Mon Sep 17 00:00:00 2001 From: c0j0s Date: Fri, 3 Mar 2023 11:17:14 +0800 Subject: [PATCH 034/470] Add c0j0s profile to aboutus --- docs/AboutUs.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 14aaf1c4a84..f48a1ea5faa 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -51,12 +51,11 @@ You can reach us at the email `seer[at]comp.nus.edu.sg` * Role: Developer -### James Doe +### Chen Junsheng - + -[[github](http://github.com/johndoe)] -[[portfolio](team/johndoe.md)] +[[github](http://github.com/c0j0s)] +[[portfolio](team/c0j0s.md)] * Role: Developer -* Responsibilities: UI From e269f542a3de552d8b2f8c0e5999a65ccfaf2975 Mon Sep 17 00:00:00 2001 From: dohaduong Date: Fri, 3 Mar 2023 11:47:02 +0800 Subject: [PATCH 035/470] Update DG - use case --- docs/DeveloperGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 6328def4693..5430e5d0ddd 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -370,7 +370,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli 4. Duke Driver displays the chosen job with more specific details. 5. User selects "Chat" function from the chosen job. 6. Duke Driver prompts Chat window with specific client. -7. User starts the chat by typing in the messages and press Enter to send/ +7. User starts the chat by typing in the messages and requests to send/ 8. Duke Driver shows the message sent in the Chat window. Use case ends. From 7e98665f333f22bdcc289bc638cd012940e9a018 Mon Sep 17 00:00:00 2001 From: dohaduong Date: Fri, 3 Mar 2023 11:47:36 +0800 Subject: [PATCH 036/470] Update DG - use case --- docs/DeveloperGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 5430e5d0ddd..3d83552cb34 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -370,7 +370,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli 4. Duke Driver displays the chosen job with more specific details. 5. User selects "Chat" function from the chosen job. 6. Duke Driver prompts Chat window with specific client. -7. User starts the chat by typing in the messages and requests to send/ +7. User starts the chat by typing in the messages and requests to send 8. Duke Driver shows the message sent in the Chat window. Use case ends. From b3035b730b85fc24d8aa55896587d651afc0bca4 Mon Sep 17 00:00:00 2001 From: dohaduong Date: Fri, 3 Mar 2023 11:48:40 +0800 Subject: [PATCH 037/470] Update DG - use case --- docs/DeveloperGuide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 3d83552cb34..b07a7bd2abe 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -367,8 +367,8 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli 1. User requests to list jobs/contacts. 2. Duke Driver shows a list of jobs (UC2) 3. User requests to display a specific job to start chat. -4. Duke Driver displays the chosen job with more specific details. -5. User selects "Chat" function from the chosen job. +4. Duke Driver displays the chosen job in details and Chat option. +5. User selects "Chat" option from the chosen job. 6. Duke Driver prompts Chat window with specific client. 7. User starts the chat by typing in the messages and requests to send 8. Duke Driver shows the message sent in the Chat window. From 3186fc4af26739c62a9b5d8c129ce0f49a9b8cdf Mon Sep 17 00:00:00 2001 From: dohaduong Date: Fri, 3 Mar 2023 11:50:03 +0800 Subject: [PATCH 038/470] Update DG - use case --- docs/DeveloperGuide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index b07a7bd2abe..cb1b6a089ba 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -364,8 +364,8 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli

    J9%nD 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