From 44f5279d3688519c79e48d5f997d260d64d60eeb Mon Sep 17 00:00:00 2001 From: mudabbir-ahmad Date: Wed, 2 Apr 2025 17:09:53 +0100 Subject: [PATCH] updated code to follow brief's format better and tested save and open functionality --- data/cv_repo_0.csv | 10 +++--- .../controller/CsvExportSettings.java | 2 +- src/main/java/cvbuilder/model/UserGroup.java | 2 +- src/main/java/cvbuilder/view/MainViewer.java | 34 +++++++------------ 4 files changed, 19 insertions(+), 29 deletions(-) diff --git a/data/cv_repo_0.csv b/data/cv_repo_0.csv index 4167b3e..11dce5d 100644 --- a/data/cv_repo_0.csv +++ b/data/cv_repo_0.csv @@ -1,6 +1,6 @@ -Section,Sub-Section,Variants +Section,Sub-Section,Variants User,Name,Scheherazade Taylor,SJ Taylor,Shaz Taylor -User,Title,Ms.,Miss -User,Email,strongshaz@bob.com,gmail_account@gmail.com,k1234567@kingston.ac.uk -Contact Information,Phone,07910582346,02083412275 -Contact Information,Address,11 Rita Road%%%%London SW8 1ND,Flat 4//// Obnoxious House%%%%Rude Road%%%%London KT16 4RT +User,Email,strongshaz@bob.com,gmail_account@gmail.com,k2320390@kingston.ac.uk +User,Title,Ms.,Miss,Unknown +Contact Information,Phone,07910582346,02083412275,Unknown +Contact Information,Address,11 Rita Road%%%%London SW8 1ND,Flat 4//// Obnoxious House%%%%Rude Road%%%%London KT16 4RT,Unknown diff --git a/src/main/java/cvbuilder/controller/CsvExportSettings.java b/src/main/java/cvbuilder/controller/CsvExportSettings.java index 3dc4d14..5c529ca 100644 --- a/src/main/java/cvbuilder/controller/CsvExportSettings.java +++ b/src/main/java/cvbuilder/controller/CsvExportSettings.java @@ -5,7 +5,7 @@ import java.util.Map; public class CsvExportSettings { private static CsvExportSettings instance; - private Map includeMap = new HashMap<>(); + private final Map includeMap = new HashMap<>(); private CsvExportSettings() { // Initialize default values for all fields to be included diff --git a/src/main/java/cvbuilder/model/UserGroup.java b/src/main/java/cvbuilder/model/UserGroup.java index 24a544f..1d1049a 100644 --- a/src/main/java/cvbuilder/model/UserGroup.java +++ b/src/main/java/cvbuilder/model/UserGroup.java @@ -5,7 +5,7 @@ import java.util.ArrayList; public class UserGroup { private static UserGroup instance; - private ArrayList users; + private final ArrayList users; private UserGroup() { users = new ArrayList<>(); diff --git a/src/main/java/cvbuilder/view/MainViewer.java b/src/main/java/cvbuilder/view/MainViewer.java index ea2ca30..181ffb0 100644 --- a/src/main/java/cvbuilder/view/MainViewer.java +++ b/src/main/java/cvbuilder/view/MainViewer.java @@ -7,12 +7,12 @@ import cvbuilder.model.UserGroup; import javax.swing.*; import java.awt.*; import java.io.*; -import java.util.*; + public class MainViewer { - private UserGroup userGroup; + private final UserGroup userGroup; public MainViewer() { userGroup = UserGroup.getInstance(); @@ -160,24 +160,18 @@ public class MainViewer { // Add some spacing entryPanel.add(Box.createHorizontalStrut(5)); - // Create Delete button + // Create delete button JButton deleteButton = new JButton("Delete"); deleteButton.addActionListener(e -> { - int confirm = JOptionPane.showConfirmDialog(panel, - "Are you sure you want to delete this entry?", - "Confirm Delete", JOptionPane.YES_NO_OPTION); + // Remove the user without confirmation + userGroup.getUsers().remove(userIndex); - if (confirm == JOptionPane.YES_OPTION) { - // Remove the user - userGroup.getUsers().remove(userIndex); - - // Refresh all panels - JFrame frame = (JFrame) SwingUtilities.getWindowAncestor(panel); - frame.getContentPane().removeAll(); - populateMainPanel(frame); - frame.revalidate(); - frame.repaint(); - } + // Refresh all panels + JFrame frame = (JFrame) SwingUtilities.getWindowAncestor(panel); + frame.getContentPane().removeAll(); + populateMainPanel(frame); + frame.revalidate(); + frame.repaint(); }); entryPanel.add(deleteButton); @@ -519,10 +513,7 @@ public class MainViewer { writer.println(); } - JOptionPane.showMessageDialog(null, - "CSV file saved successfully to " + filePath, - "Save Successful", - JOptionPane.INFORMATION_MESSAGE); + // Success message removed } catch (IOException e) { JOptionPane.showMessageDialog(null, @@ -532,5 +523,4 @@ public class MainViewer { } } - } \ No newline at end of file