diff --git a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/HmHApplication.java b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/HmHApplication.java index da9cebb..b910eb3 100644 --- a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/HmHApplication.java +++ b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/HmHApplication.java @@ -3,7 +3,6 @@ import static javafx.application.Application.launch; import java.net.http.HttpClient; - import javafx.application.Application; import javafx.stage.Stage; import ntnu.systemutvikling.team6.database.DatabaseConnection; @@ -11,6 +10,7 @@ import ntnu.systemutvikling.team6.models.Charity; import ntnu.systemutvikling.team6.models.CharityRegistry; import ntnu.systemutvikling.team6.scraper.APICharityScraper; +import ntnu.systemutvikling.team6.service.APIToDatabaseService; public class HmHApplication extends Application { @Override @@ -50,7 +50,7 @@ public void init() { HttpClient https = HttpClient.newHttpClient(); APICharityScraper scraper = new APICharityScraper(https); DatabaseConnection conn = new DatabaseConnection(); - DatabaseSetup db = new DatabaseSetup(conn); + APIToDatabaseService db = new APIToDatabaseService(conn); if (scraper.checkConnection()) { CharityRegistry charityRegistry = scraper.parseJSON(scraper.getJSONData()); diff --git a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/controller/AvailableOrganizationController.java b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/controller/AvailableOrganizationController.java index 139a5d2..f29ee61 100644 --- a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/controller/AvailableOrganizationController.java +++ b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/controller/AvailableOrganizationController.java @@ -10,7 +10,7 @@ import javafx.scene.control.TextField; import javafx.scene.layout.FlowPane; import ntnu.systemutvikling.team6.database.DatabaseConnection; -import ntnu.systemutvikling.team6.database.DatabaseSetup; +import ntnu.systemutvikling.team6.database.Readers.CharitySelect; import ntnu.systemutvikling.team6.models.Charity; import ntnu.systemutvikling.team6.models.CharityRegistry; @@ -40,7 +40,7 @@ public class AvailableOrganizationController { @FXML public void initialize() { DatabaseConnection conn = new DatabaseConnection(); - DatabaseSetup db = new DatabaseSetup(conn); + CharitySelect db = new CharitySelect(conn); CharityRegistry charities = db.getCharitiesFromDB(); allCharities = charities.getAllCharities(); diff --git a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/controller/FrontpageController.java b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/controller/FrontpageController.java index 9ce1e2e..7fa2b6c 100644 --- a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/controller/FrontpageController.java +++ b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/controller/FrontpageController.java @@ -13,7 +13,6 @@ import javafx.scene.control.TextField; import javafx.scene.layout.FlowPane; import ntnu.systemutvikling.team6.database.DatabaseConnection; -import ntnu.systemutvikling.team6.database.DatabaseSetup; import ntnu.systemutvikling.team6.database.Readers.CharitySelect; import ntnu.systemutvikling.team6.database.Readers.DonationSelect; import ntnu.systemutvikling.team6.models.Charity; diff --git a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/DatabaseSetup.java b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/DatabaseSetup.java index 421c8bc..62de2e8 100644 --- a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/DatabaseSetup.java +++ b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/DatabaseSetup.java @@ -1,22 +1,14 @@ package ntnu.systemutvikling.team6.database; import java.sql.*; -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.UUID; - import ntnu.systemutvikling.team6.models.*; import ntnu.systemutvikling.team6.models.user.*; -import ntnu.systemutvikling.team6.scraper.APICharityData; /** - * Manages the Database with MySQL tables and JDBC. + * Manages the Database with MySQL tables and test connection. * - *
This class is responsible for creating the tables needed for the application, if not done - * already and maintaining the {@code charities} table based on data retrieved from the IK API. It - * is also responsible for retrieving the data from the database and sending it to the application - * through the CharityRegistry and DonationRegistry. It is used by the FrontpageController to - * retrieve the data needed to display the charities + *
This class object is able to create MySQL to ntnu localized database and able to + * testConnection to it. */ public class DatabaseSetup { private final DatabaseConnection connection; @@ -57,8 +49,6 @@ public boolean testConnection() { /** * Creates the {@code Charities} and {@code Donations} tables if they do not already exist. * - *
The table structure for Charities is based on fields from {@link APICharityData}.
- *
* @throws RuntimeException if a {@link SQLException} occurs while creating the table
*/
public void createTables() {
@@ -281,4 +271,4 @@ FOREIGN KEY (`User_UUID_User`)
throw new RuntimeException("Error creating table.");
}
}
-}
\ No newline at end of file
+}
diff --git a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/Readers/DonationSelect.java b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/Readers/DonationSelect.java
index 97bc639..abcca9a 100644
--- a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/Readers/DonationSelect.java
+++ b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/Readers/DonationSelect.java
@@ -1,28 +1,28 @@
package ntnu.systemutvikling.team6.database.Readers;
-import ntnu.systemutvikling.team6.database.DatabaseConnection;
-import ntnu.systemutvikling.team6.models.Charity;
-import ntnu.systemutvikling.team6.models.Donation;
-import ntnu.systemutvikling.team6.models.DonationRegistry;
-
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
+import ntnu.systemutvikling.team6.database.DatabaseConnection;
+import ntnu.systemutvikling.team6.models.Charity;
+import ntnu.systemutvikling.team6.models.Donation;
+import ntnu.systemutvikling.team6.models.DonationRegistry;
public class DonationSelect {
- private final DatabaseConnection connection;
+ private final DatabaseConnection connection;
- public DonationSelect (DatabaseConnection connection){
- this.connection = connection;
- }
- public DonationRegistry getDonationFromDB() {
- DonationRegistry registry = null;
- Connection conn = null;
- try {
- conn = connection.getMySqlConnection();
- String sql_query =
- """
+ public DonationSelect(DatabaseConnection connection) {
+ this.connection = connection;
+ }
+
+ public DonationRegistry getDonationFromDB() {
+ DonationRegistry registry = null;
+ Connection conn = null;
+ try {
+ conn = connection.getMySqlConnection();
+ String sql_query =
+ """
SELECT
d.UUID_Donations,
d.amount,
@@ -37,32 +37,32 @@ public DonationRegistry getDonationFromDB() {
JOIN Charities c
ON d.Charities_UUID_charities = c.UUID_charities
""";
- Statement stmt = conn.createStatement();
- ResultSet rs = stmt.executeQuery(sql_query);
+ Statement stmt = conn.createStatement();
+ ResultSet rs = stmt.executeQuery(sql_query);
- registry = new DonationRegistry();
- while (rs.next()) {
- Charity charity =
- new Charity(
- rs.getString("UUID_charities"),
- rs.getString("org_number"),
- rs.getString("charity_name"),
- rs.getString("charity_link"),
- rs.getBoolean("pre_approved"),
- rs.getString("status"));
+ registry = new DonationRegistry();
+ while (rs.next()) {
+ Charity charity =
+ new Charity(
+ rs.getString("UUID_charities"),
+ rs.getString("org_number"),
+ rs.getString("charity_name"),
+ rs.getString("charity_link"),
+ rs.getBoolean("pre_approved"),
+ rs.getString("status"));
- Donation donation =
- new Donation(
- rs.getString("UUID_Donations"),
- rs.getDouble("amount"),
- rs.getDate("date").toLocalDate(),
- charity);
- registry.addDonation(donation);
- }
- } catch (SQLException e) {
- e.printStackTrace();
- throw new RuntimeException("ERROR: Something went wrong during updating charities table.");
- }
- return registry;
+ Donation donation =
+ new Donation(
+ rs.getString("UUID_Donations"),
+ rs.getDouble("amount"),
+ rs.getDate("date").toLocalDate(),
+ charity);
+ registry.addDonation(donation);
+ }
+ } catch (SQLException e) {
+ e.printStackTrace();
+ throw new RuntimeException("ERROR: Something went wrong during updating charities table.");
}
+ return registry;
+ }
}
diff --git a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/Readers/UserSelect.java b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/Readers/UserSelect.java
index e232d08..b62ebae 100644
--- a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/Readers/UserSelect.java
+++ b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/Readers/UserSelect.java
@@ -1,89 +1,159 @@
package ntnu.systemutvikling.team6.database.Readers;
-import ntnu.systemutvikling.team6.database.DatabaseConnection;
-import ntnu.systemutvikling.team6.models.UserRegistry;
-import ntnu.systemutvikling.team6.models.user.*;
-
import java.sql.*;
import java.time.LocalDate;
import java.util.UUID;
+import ntnu.systemutvikling.team6.database.DatabaseConnection;
+import ntnu.systemutvikling.team6.models.UserRegistry;
+import ntnu.systemutvikling.team6.models.user.*;
+import ntnu.systemutvikling.team6.security.PasswordHasher;
public class UserSelect {
- private final DatabaseConnection connection;
+ private final DatabaseConnection connection;
+
+ public UserSelect(DatabaseConnection connection) {
+ this.connection = connection;
+ }
+
+ public User getUserFromDBUsernameAndPassword(String username, String password) {
+ PasswordHasher hasher = new PasswordHasher();
+ String hashedpassword = hasher.getHashPassword(password);
+
+ User user = null;
+ Connection conn = null;
+ try {
+ conn = connection.getMySqlConnection();
+ String sql_query =
+ """
+ SELECT
+ u.UUID_User, u.user_name, u.user_email, u.user_password, u.role,
+ s.User_UUID_User, s.isAnonymous, s.language, s.lightmode,
+ m.UUID_message, m.message_title, m.message_content, m.message_date, m.sender_user_id, m.sender_charity_id, m.user_id
+ FROM User u
+ LEFT JOIN Settings s ON u.UUID_User = s.User_UUID_user
+ LEFT JOIN Messages m ON u.UUID_User = m.user_id
+ WHERE u.user_password = ? AND u.user_password = ?;
+ """;
+ PreparedStatement stmt = conn.prepareStatement(sql_query);
+ stmt.setString(1, username);
+ stmt.setString(2, hashedpassword);
- public UserSelect(DatabaseConnection connection){
- this.connection = connection;
+ ResultSet rs = stmt.executeQuery();
+
+ String lastUserid = null;
+ while (rs.next()) {
+ String userId = rs.getString("UUID_User");
+ if (lastUserid == null || !userId.equals(lastUserid)) {
+ user =
+ new User(
+ userId,
+ rs.getString("user_name"),
+ rs.getString("user_email"),
+ rs.getString("user_password"),
+ rs.getString("role"));
+ if (rs.getString("isAnonymous") != null) {
+ Settings settings =
+ new Settings(
+ rs.getBoolean("isAnonymous"),
+ Language.valueOf(rs.getString("language").toUpperCase()),
+ rs.getBoolean("lightmode"));
+ user.setSettings(settings);
+ }
+ user.setInbox(new Inbox());
+ lastUserid = userId;
+ }
+ String messageId = rs.getString("UUID_message");
+ if (messageId != null) {
+ Message message =
+ new Message(
+ rs.getString("message_title"),
+ UUID.fromString(rs.getString("sender_charity_id")),
+ rs.getString("message_content"),
+ LocalDate.parse(rs.getString("message_date")));
+
+ user.getInbox().addMessage(message);
+ }
+ }
+ } catch (SQLException e) {
+ e.printStackTrace();
+ throw new RuntimeException("ERROR: Something went wrong during updating charities table.");
+ } finally {
+ conn = null;
}
+ return user;
+ }
- public User getUserFromDBUuid(String user_id){
- User user = null;
- Connection conn = null;
- try {
- conn = connection.getMySqlConnection();
- String sql_query =
- """
- SELECT
+ public User getUserFromDBUuid(String user_id) {
+ User user = null;
+ Connection conn = null;
+ try {
+ conn = connection.getMySqlConnection();
+ String sql_query =
+ """
+ SELECT
u.UUID_User, u.user_name, u.user_email, u.user_password, u.role,
s.User_UUID_User, s.isAnonymous, s.language, s.lightmode,
m.UUID_message, m.message_title, m.message_content, m.message_date, m.sender_user_id, m.sender_charity_id, m.user_id
FROM User u
LEFT JOIN Settings s ON u.UUID_User = s.User_UUID_user
LEFT JOIN Messages m ON u.UUID_User = m.user_id
- WHERE u.UUID_User = ?;
+ WHERE u.UUID_User = ?;
""";
- PreparedStatement stmt = conn.prepareStatement(sql_query);
- stmt.setString(1, user_id);
- ResultSet rs = stmt.executeQuery();
-
- String lastUserid = null;
- while (rs.next()) {
- String userId = rs.getString("UUID_User");
- if (lastUserid == null || !userId.equals(lastUserid)) {
- user = new User(
- userId,
- rs.getString("user_name"),
- rs.getString("user_email"),
- rs.getString("user_password"),
- rs.getString("role")
- );
- if (rs.getString("isAnonymous") != null){
- Settings settings = new Settings(
- rs.getBoolean("isAnonymous"),
- Language.valueOf(rs.getString("language").toUpperCase()),
- rs.getBoolean("lightmode")
- );
- user.setSettings(settings);
- }
- user.setInbox(new Inbox());
- lastUserid = userId;
- }
- String messageId = rs.getString("UUID_message");
- if (messageId != null) {
- Message message = new Message(
- rs.getString("message_title"),
- UUID.fromString(rs.getString("sender_charity_id")),
- rs.getString("message_content"),
- LocalDate.parse(rs.getString("message_date"))
- );
-
- user.getInbox().addMessage(message);
- }
- }
- } catch (SQLException e) {
- e.printStackTrace();
- throw new RuntimeException("ERROR: Something went wrong during updating charities table.");
+ PreparedStatement stmt = conn.prepareStatement(sql_query);
+ stmt.setString(1, user_id);
+ ResultSet rs = stmt.executeQuery();
+
+ String lastUserid = null;
+ while (rs.next()) {
+ String userId = rs.getString("UUID_User");
+ if (lastUserid == null || !userId.equals(lastUserid)) {
+ user =
+ new User(
+ userId,
+ rs.getString("user_name"),
+ rs.getString("user_email"),
+ rs.getString("user_password"),
+ rs.getString("role"));
+ if (rs.getString("isAnonymous") != null) {
+ Settings settings =
+ new Settings(
+ rs.getBoolean("isAnonymous"),
+ Language.valueOf(rs.getString("language").toUpperCase()),
+ rs.getBoolean("lightmode"));
+ user.setSettings(settings);
+ }
+ user.setInbox(new Inbox());
+ lastUserid = userId;
+ }
+ String messageId = rs.getString("UUID_message");
+ if (messageId != null) {
+ Message message =
+ new Message(
+ rs.getString("message_title"),
+ UUID.fromString(rs.getString("sender_charity_id")),
+ rs.getString("message_content"),
+ LocalDate.parse(rs.getString("message_date")));
+
+ user.getInbox().addMessage(message);
}
- return user;
+ }
+ } catch (SQLException e) {
+ e.printStackTrace();
+ throw new RuntimeException("ERROR: Something went wrong during updating charities table.");
+ } finally {
+ conn = null;
}
+ return user;
+ }
- public UserRegistry getUsersFromDB(){
- UserRegistry registry = new UserRegistry();
- Connection conn = null;
- try {
- conn = connection.getMySqlConnection();
- String sql_query =
- """
- SELECT
+ public UserRegistry getUsersFromDB() {
+ UserRegistry registry = new UserRegistry();
+ Connection conn = null;
+ try {
+ conn = connection.getMySqlConnection();
+ String sql_query =
+ """
+ SELECT
u.UUID_User, u.user_name, u.user_email, u.user_password, u.role,
s.User_UUID_User, s.isAnonymous, s.language, s.lightmode,
m.UUID_message, m.message_title, m.message_content, m.message_date, m.sender_user_id, m.sender_charity_id, m.user_id
@@ -91,111 +161,117 @@ public UserRegistry getUsersFromDB(){
LEFT JOIN Settings s ON u.UUID_User = s.User_UUID_user
LEFT JOIN Messages m ON u.UUID_User = m.user_id
""";
- Statement stmt = conn.createStatement();
- ResultSet rs = stmt.executeQuery(sql_query);
-
- User currentUser = null;
- String lastUserid = null;
-
- while (rs.next()) {
- String userId = rs.getString("UUID_User");
-
- if (lastUserid == null || !userId.equals(lastUserid)) {
- currentUser = new User(
- userId,
- rs.getString("user_name"),
- rs.getString("user_email"),
- rs.getString("user_password"),
- rs.getString("role")
- );
- if (rs.getString("isAnonymous") != null){
- Settings settings = new Settings(
- rs.getBoolean("isAnonymous"),
- Language.valueOf(rs.getString("language").toUpperCase()),
- rs.getBoolean("lightmode")
- );
- currentUser.setSettings(settings);
- }
- currentUser.setInbox(new Inbox());
- registry.addUser(currentUser);
- lastUserid = userId;
- }
- String messageId = rs.getString("UUID_message");
- if (messageId != null) {
- Message message = new Message(
- rs.getString("message_title"),
- UUID.fromString(rs.getString("sender_charity_id")),
- rs.getString("message_content"),
- LocalDate.parse(rs.getString("message_date"))
- );
-
- currentUser.getInbox().addMessage(message);
- }
- }
- } catch (SQLException e) {
- e.printStackTrace();
- throw new RuntimeException("ERROR: Something went wrong during updating charities table.");
+ Statement stmt = conn.createStatement();
+ ResultSet rs = stmt.executeQuery(sql_query);
+
+ User currentUser = null;
+ String lastUserid = null;
+
+ while (rs.next()) {
+ String userId = rs.getString("UUID_User");
+
+ if (lastUserid == null || !userId.equals(lastUserid)) {
+ currentUser =
+ new User(
+ userId,
+ rs.getString("user_name"),
+ rs.getString("user_email"),
+ rs.getString("user_password"),
+ rs.getString("role"));
+ if (rs.getString("isAnonymous") != null) {
+ Settings settings =
+ new Settings(
+ rs.getBoolean("isAnonymous"),
+ Language.valueOf(rs.getString("language").toUpperCase()),
+ rs.getBoolean("lightmode"));
+ currentUser.setSettings(settings);
+ }
+ currentUser.setInbox(new Inbox());
+ registry.addUser(currentUser);
+ lastUserid = userId;
+ }
+ String messageId = rs.getString("UUID_message");
+ if (messageId != null) {
+ Message message =
+ new Message(
+ rs.getString("message_title"),
+ UUID.fromString(rs.getString("sender_charity_id")),
+ rs.getString("message_content"),
+ LocalDate.parse(rs.getString("message_date")));
+
+ currentUser.getInbox().addMessage(message);
}
- return registry;
+ }
+ } catch (SQLException e) {
+ e.printStackTrace();
+ throw new RuntimeException("ERROR: Something went wrong during updating charities table.");
+ } finally {
+ conn = null;
}
+ return registry;
+ }
- public Settings getSettingsForUser(String user_id){
- Settings settings = null;
- Connection conn = null;
- try {
- conn = connection.getMySqlConnection();
- String sql_query =
- """
+ public Settings getSettingsForUser(String user_id) {
+ Settings settings = null;
+ Connection conn = null;
+ try {
+ conn = connection.getMySqlConnection();
+ String sql_query =
+ """
SELECT User_UUID_User, isAnonymous, language, lightmode FROM Settings
- WHERE User_UUID_User = ?;
+ WHERE User_UUID_User = ?;
""";
- PreparedStatement stmt = conn.prepareStatement(sql_query);
- stmt.setString(1, user_id);
- stmt.setMaxRows(1);
- ResultSet rs = stmt.executeQuery();
-
- while (rs.next()) {
- settings = new Settings(
- rs.getBoolean("isAnonymous"),
- Language.valueOf(rs.getString("language").toUpperCase()),
- rs.getBoolean("lightmode")
- );
- }
- } catch (SQLException e) {
- e.printStackTrace();
- throw new RuntimeException("ERROR: Something went wrong during updating charities table.");
- }
+ PreparedStatement stmt = conn.prepareStatement(sql_query);
+ stmt.setString(1, user_id);
+ stmt.setMaxRows(1);
+ ResultSet rs = stmt.executeQuery();
- return settings;
+ while (rs.next()) {
+ settings =
+ new Settings(
+ rs.getBoolean("isAnonymous"),
+ Language.valueOf(rs.getString("language").toUpperCase()),
+ rs.getBoolean("lightmode"));
+ }
+ } catch (SQLException e) {
+ e.printStackTrace();
+ throw new RuntimeException("ERROR: Something went wrong during updating charities table.");
+ } finally {
+ conn = null;
}
- public Inbox getInboxForUser(String user_id){
- Inbox inbox = new Inbox();
- Connection conn = null;
- try {
- conn = connection.getMySqlConnection();
- String sql_query =
- """
+ return settings;
+ }
+
+ public Inbox getInboxForUser(String user_id) {
+ Inbox inbox = new Inbox();
+ Connection conn = null;
+ try {
+ conn = connection.getMySqlConnection();
+ String sql_query =
+ """
SELECT UUID_message, message_title, message_content, message_date, sender_user_id, sender_charity_id, user_id FROM Messages
- WHERE user_id = ?;
+ WHERE user_id = ?;
""";
- PreparedStatement stmt = conn.prepareStatement(sql_query);
- stmt.setString(1, user_id);
- ResultSet rs = stmt.executeQuery();
-
- while (rs.next()) {
- Message message = new Message(
- rs.getString("message_title"),
- UUID.fromString(rs.getString("sender_charity_id")),
- rs.getString("message_date"),
- LocalDate.parse(rs.getString("message_date"))
- );
- inbox.addMessage(message);
- }
- } catch (SQLException e) {
- e.printStackTrace();
- throw new RuntimeException("ERROR: Something went wrong during updating charities table.");
- }
- return inbox;
+ PreparedStatement stmt = conn.prepareStatement(sql_query);
+ stmt.setString(1, user_id);
+ ResultSet rs = stmt.executeQuery();
+
+ while (rs.next()) {
+ Message message =
+ new Message(
+ rs.getString("message_title"),
+ UUID.fromString(rs.getString("sender_charity_id")),
+ rs.getString("message_date"),
+ LocalDate.parse(rs.getString("message_date")));
+ inbox.addMessage(message);
+ }
+ } catch (SQLException e) {
+ e.printStackTrace();
+ throw new RuntimeException("ERROR: Something went wrong during updating charities table.");
+ } finally {
+ conn = null;
}
+ return inbox;
+ }
}
diff --git a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/models/Charity.java b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/models/Charity.java
index eaae882..fdae199 100644
--- a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/models/Charity.java
+++ b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/models/Charity.java
@@ -125,12 +125,11 @@ public void setUnverified() {
}
/**
- * Set method for feedbacks.
- * Primarily will be used to set feedbacks taken from database.
+ * Set method for feedbacks. Primarily will be used to set feedbacks taken from database.
*
* @param feedbacks
*/
- public void setFeedbacks(ArrayList