From 35a6362766b185f3a7ee0cc0d3aab510cd7ac798 Mon Sep 17 00:00:00 2001 From: AdrianBalunan Date: Thu, 19 Feb 2026 11:53:40 +0100 Subject: [PATCH] Feedback class, added an attribute to charity that contain a list of feedbacks --- .../sytemutvikling/team6/models/Charity.java | 6 ++ .../sytemutvikling/team6/models/Feedback.java | 61 ++++++++++++++++++ .../sytemutvikling/team6/models/Charity.class | Bin 1381 -> 1559 bytes .../team6/models/Feedback.class | Bin 315 -> 1251 bytes 4 files changed, 67 insertions(+) diff --git a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Charity.java b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Charity.java index 7390917..3106d09 100644 --- a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Charity.java +++ b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Charity.java @@ -5,7 +5,9 @@ */ package ntnu.sytemutvikling.team6.models; +import java.util.List; import java.util.UUID; +import java.util.ArrayList; abstract class Charity { /* UUID for uniquely identifying each charity */ @@ -26,6 +28,9 @@ abstract class Charity { /* Category for the charity */ private String category; + /* List that contains the charity's Feedbacks */ + private List feedbacks; + /** * Konstructor for creating a new charity. * The ID is generated automatically using UUID. @@ -42,6 +47,7 @@ public Charity(String name, String description, String category) { this.description = description; this.totalDonations = 0; this.isVerified = false; + this.feedbacks = new ArrayList<>(); this.category = category; } diff --git a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Feedback.java b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Feedback.java index 1cea4ca..891dce1 100644 --- a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Feedback.java +++ b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Feedback.java @@ -1,4 +1,65 @@ package ntnu.sytemutvikling.team6.models; +import java.time.LocalDateTime; +import java.util.UUID; + public class Feedback { + /* Feedback id */ + private UUID feedbackId; + + /** + * The author of the feedback + * If annonymous the presentation of the user will be "Anonymous". + */ + private User user; + + /* The details of the feedback*/ + private String comment; + + /* The date and time when the feedback was given */ + private LocalDateTime date; + + /* Is the feedback given anonymously? */ + private boolean isAnonymous; + + /** + * Constructor for creating a new feedback. + * + * @param user The user who gives the feedback. + * @param comment The content of the feedback. + */ + public Feedback(User user, String comment) { + this.feedbackId = UUID.randomUUID(); + this.user = user; + this.comment = comment; + this.date = LocalDateTime.now(); + + // ASSUMES that this is the way to get the anonymous setting from the user's settings. + if (user.getSettings().getAnonymous() == false) { + this.isAnonymous = true; + } else { + this.isAnonymous = false; + } + } + + /** + * Getters for the feedback's attributes. + * + * @return The feedback's attributes. + */ + public UUID getFeedbackId() { + return feedbackId; + } + public String getComment() { + return comment; + } + public LocalDateTime getDate() { + return date; + } + public User getUser() { + return user; + } + public boolean isAnonymous() { + return isAnonymous; + } } diff --git a/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Charity.class b/helpmehelpapplication/target/classes/ntnu/sytemutvikling/team6/models/Charity.class index 506a404958517c440a6cb791fad051f725ed637b..b2e6c9c9c5e89b2b727aff0dd6431c1df3c3650a 100644 GIT binary patch literal 1559 zcma)5YflqF6g|_H7RvHQ!6zUB?FuXkqR2x`k%WX`lt%*JmUe-Gc5Aj%lKvBagda4q z!D!+S@JAWX3>8Y*1i#F^b7#)EbI-l=`_GSG0N!FbfrvoLSAN+kRg_mKt5bQBm;Rxn zJhw3G6pA@7Uve@>ZXi`9ftWz&v3u$|d6#$I?H_wtB@mH0#@Ee3S;@S!y}hlK@%&p%fV^nM4$Q7JASx5KX0blDLce3EX4-SGBY701qiZ;QF~@L90m>Q|Y=w zjKVDt7_`uYxb_}dNT6AJk1e#Ed!rVTXw|Wl1q*En*aAJ5$=(EkThXE1zYZZ-ZZqBb@Mx%3B9icW9mq<8TQTU)~1QlHXV9ujm>SP z&0O@h_g|$~Cnmv58)l%|>8;d{PZtAQ4HHCxIYV4IIISg5U5-*4ciaBy#b_lri{&8e ztx8>+ReRl}7AZDJ9isdy{3lvwdJ!$Mv6R?Y3T!OpHI||oOBspoGJZE3LgCTN^%f(a z$Qq-avd?ha{*F6U4A@Vq7_!H!7`CHTjOb;|{)zPN8F(^oPgF7a)v!%*9VH_$PL>Jg zpJXnF%u}4Grx?I9*qCNyhC9$Vxfq@1j#*6&!g#uhi1GBhqkP{C9@bvz(CS-F_BRZC zp%Wn#ltBky8EWhNLXBGBIc6ErCDwx{8^MdA;1{9bp+@j>DEMV4c(@Uq2?fuwoa@gX z`P@+RYAD#kdxXxxsJPvBoT zfP@9&zz6VAi0ZbhC7a!3gj0~NHL)~WKEZFM3)_%b+j zl;<`#oo3kZ{FYNbawDlubI1sc9J?p3Z6$qYe}B93R3H<$ zO;2E~dtxBFDk3}23JtGSkK{)s!$4q2h066SVc_b0OF(Q30+st$93Gy;Rc(!JdlN3m}FOx z8#KbE9+9IJOYyM>AaL74AF?{TVk-XRT+3Y z?dE|O?YRfOQ7^2!evJm`eXp2NN0KVp)vH=Z#rqCDwM``pjO8;S$Nx=m*`6FP?HKol zm{l%%HOj(X%q|K?!?@C=Ld#RADo=|nBNWCQQdnj^=ww}W36kYGqcno&3~Ci zO3TMArNuLm(wRu%Or&fkQZz=b;4ntGj&k>jxD4Zx{T*ZW4@`70Wv_HFZLfAPW2ZZq z)60Ur*1^(OL$l0v-cT(QTI3@o(%G263MR3N8LVLu>pTIghMYHS?)Z#pQkYD)nKGGf zEX{^AzT1|=sBiVz-!S!sNecSetSN37YO8ypM=kj98Y_CHi{Pa=cq(R-#JSzJI_Ej08J5qifn_=ti9WW^ctsrP>trq3WV~!N_KbC}Ej?uaftYXvG(Pp!})4@(tI2#oD#85_p7Lbk;~uDy-u+ zS%y2fJC0zIRd<=~uh{rPhZLspiy1ic58lMR1o-|uyq5?+q>4th&t~45hhHVa2DTI6 Zoq4#L2p91r0p9&Q*YmqX_-U+q_7{ow3N-)# delta 132 zcmaFNxtodW)W2Q(7#J8_83ZPBxy!NHWaed-*fBCNYiNcsGO#%3r=)T*Ff(xSFt9SP zO}@n#H(8un#fyP~5eR`IK$0D(TOZ74U|`kS&cLw|D8R(P1tdYz3_#u7K#~W{W(Cr` OKprClACP2X;0FLS9S{uw