summaryrefslogtreecommitdiff
path: root/src/main/java/design/controller
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2025-10-07 09:54:16 -0400
committersowgro <tpoke.ferrari@gmail.com>2025-10-07 09:54:16 -0400
commit701aba30fe05f65ab0e027f9d9aac0928d814560 (patch)
treee3b9817558c0cd57f1f3a47de11afee00a919d33 /src/main/java/design/controller
parent955ba36fa0648b9239d9eae7c3f122c549b272c6 (diff)
downloaddesignproject-design-6-701aba30fe05f65ab0e027f9d9aac0928d814560.tar.gz
designproject-design-6-701aba30fe05f65ab0e027f9d9aac0928d814560.tar.bz2
designproject-design-6-701aba30fe05f65ab0e027f9d9aac0928d814560.zip
Prompt for password and cleanup
Diffstat (limited to 'src/main/java/design/controller')
-rw-r--r--src/main/java/design/controller/userinput/Action.java2
-rw-r--r--src/main/java/design/controller/userinput/Menu.java2
-rw-r--r--src/main/java/design/controller/userinput/MenuOption.java4
-rw-r--r--src/main/java/design/controller/userinput/menus/SelectUser.java23
4 files changed, 19 insertions, 12 deletions
diff --git a/src/main/java/design/controller/userinput/Action.java b/src/main/java/design/controller/userinput/Action.java
index bb16585..2c95b2b 100644
--- a/src/main/java/design/controller/userinput/Action.java
+++ b/src/main/java/design/controller/userinput/Action.java
@@ -2,5 +2,5 @@ package design.controller.userinput;
@FunctionalInterface
public interface Action {
- void onCommand();
+ void onAction();
}
diff --git a/src/main/java/design/controller/userinput/Menu.java b/src/main/java/design/controller/userinput/Menu.java
index c8090f6..0b2fb26 100644
--- a/src/main/java/design/controller/userinput/Menu.java
+++ b/src/main/java/design/controller/userinput/Menu.java
@@ -22,7 +22,7 @@ public abstract class Menu {
try {
int i = Integer.parseInt(line);
- menuOptions.get(i).onCommand();
+ menuOptions.get(i).onAction();
} catch (ArrayIndexOutOfBoundsException ex) {
System.err.printf("Invalid option \"%s\"\n", line);
present();
diff --git a/src/main/java/design/controller/userinput/MenuOption.java b/src/main/java/design/controller/userinput/MenuOption.java
index 5ae9521..f5707a9 100644
--- a/src/main/java/design/controller/userinput/MenuOption.java
+++ b/src/main/java/design/controller/userinput/MenuOption.java
@@ -13,7 +13,7 @@ public class MenuOption {
return name;
}
- public void onCommand() {
- action.onCommand();
+ public void onAction() {
+ action.onAction();
}
}
diff --git a/src/main/java/design/controller/userinput/menus/SelectUser.java b/src/main/java/design/controller/userinput/menus/SelectUser.java
index 8dee860..ffae559 100644
--- a/src/main/java/design/controller/userinput/menus/SelectUser.java
+++ b/src/main/java/design/controller/userinput/menus/SelectUser.java
@@ -15,6 +15,7 @@ import java.util.Scanner;
public class SelectUser extends Menu {
private final PersonalDatabase personalDB = PersonalDatabase.INSTANCE;
private final Action doAfter;
+ private final Scanner scanner = new Scanner(System.in);
public SelectUser(Action doAfter) {
this.doAfter = doAfter;
@@ -31,25 +32,31 @@ public class SelectUser extends Menu {
for (Golfer i : personalDB.getGolfers()) {
MenuOption menuOption = new MenuOption(i.getUsername(), () -> {
- // Sets user in Session too
- Session.setCurrentGolfer(i);
- System.out.printf("Loaded user: %s%n", i.getUsername());
- doAfter.onCommand();
+ System.out.print("Enter password: ");
+ var password = scanner.nextLine();
+ if (i.checkPassword(password)) {
+ // Sets user in Session too
+ Session.setCurrentGolfer(i);
+ System.out.printf("Loaded user: %s%n", i.getUsername());
+ doAfter.onAction();
+ } else {
+ System.out.println("Incorrect password. ");
+ this.present();
+ }
});
opts.add(menuOption);
}
opts.add(new MenuOption("<create>", () -> {
- Scanner sc = new Scanner(System.in);
System.out.print("Enter username: ");
- var username = sc.nextLine();
+ var username = scanner.nextLine();
System.out.print("Enter full name: ");
- var fullName = sc.nextLine();
+ var fullName = scanner.nextLine();
System.out.print("Enter password: ");
- var password = sc.nextLine();
+ var password = scanner.nextLine();
try {
personalDB.addGolfer(new Golfer(fullName, username, password));