From fb3abb686ba1a48d28773d064b6b52c9c4153a67 Mon Sep 17 00:00:00 2001 From: heshunme Date: Sun, 14 Jul 2024 17:50:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=B8=B8=E5=AE=A2=E6=9F=A5?= =?UTF-8?q?=E7=9C=8B=E5=90=84=E4=B8=AA=E7=94=A8=E6=88=B7=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E7=9A=84=E5=8A=9F=E8=83=BD=E4=B9=8B=E6=98=BE=E7=A4=BA=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E5=88=97=E8=A1=A8=E5=90=8E=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/web_assignment/DatabaseService.java | 15 +++++++++++++ .../com/web/web_assignment/ProjectBean.java | 22 +++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/src/main/java/com/web/web_assignment/DatabaseService.java b/src/main/java/com/web/web_assignment/DatabaseService.java index 4ed0686..7cd2ee0 100644 --- a/src/main/java/com/web/web_assignment/DatabaseService.java +++ b/src/main/java/com/web/web_assignment/DatabaseService.java @@ -188,6 +188,21 @@ public class DatabaseService { return null; } + public ArrayList getAllUsers() { + ArrayList users = new ArrayList<>(); + String sql = "SELECT username FROM users"; + try (Connection conn = getConnection(); + PreparedStatement stmt = conn.prepareStatement(sql)) { + ResultSet rs = stmt.executeQuery(); + while (rs.next()) { + users.add(rs.getString("username")); + } + } catch (SQLException e) { + e.printStackTrace(); + } + return users; + } + public void saveProjects(String username, List projects) throws SQLException { try (Connection conn = getConnection()) { for (Project project : projects) { diff --git a/src/main/java/com/web/web_assignment/ProjectBean.java b/src/main/java/com/web/web_assignment/ProjectBean.java index c24326f..8c7f898 100644 --- a/src/main/java/com/web/web_assignment/ProjectBean.java +++ b/src/main/java/com/web/web_assignment/ProjectBean.java @@ -37,6 +37,8 @@ public class ProjectBean implements Serializable { return "jdbc:derby:testDB;create=true"; } + private List users; + @PostConstruct public void init() { loadProjects(); // Load projects from the database @@ -46,6 +48,7 @@ public class ProjectBean implements Serializable { Project emptyProject = new Project("", "", "", new ArrayList<>(), "", new ArrayList<>(), "", ""); } setProject(projects.get(0)); // Set the first project as the current project + users = databaseService.getAllUsers(); } @PreDestroy @@ -202,6 +205,17 @@ public class ProjectBean implements Serializable { return username; } + public String visitorSetUsername(String username) { + this.username = username; + loadProjects(); + if (!projects.isEmpty()) { + setProject(projects.get(0)); + } else { + setProject(new Project("", "", "", new ArrayList<>(), "", new ArrayList<>(), "", "")); + } + return "project"; + } + public void setUsername(String username) { this.username = username; } @@ -273,4 +287,12 @@ public class ProjectBean implements Serializable { public Boolean getIsLoggedIn() { return isLoggedIn; } + + public List getUsers() { + return users; + } + + public void setUsers(List users) { + this.users = users; + } }