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; + } }