diff options
| author | Michael Lizzio <mjl2396@rit.edu> | 2025-10-06 16:48:53 -0400 |
|---|---|---|
| committer | Michael Lizzio <mjl2396@rit.edu> | 2025-10-06 16:48:53 -0400 |
| commit | c9992d357a0df160c8b577c12bd70338627ef2ce (patch) | |
| tree | b675627b5df7687325e74fcf1f46c2b1efcc64bc | |
| parent | 042c456a542a60262e71f694fa21e0dfcfc25f3a (diff) | |
| download | designproject-design-6-c9992d357a0df160c8b577c12bd70338627ef2ce.tar.gz designproject-design-6-c9992d357a0df160c8b577c12bd70338627ef2ce.tar.bz2 designproject-design-6-c9992d357a0df160c8b577c12bd70338627ef2ce.zip | |
Updated code basied on feed back
Diffstat (limited to '')
5 files changed, 14 insertions, 29 deletions
diff --git a/src/main/java/design/controller/userinput/Session.java b/src/main/java/design/controller/userinput/Session.java index 4de1614..7fbb786 100644 --- a/src/main/java/design/controller/userinput/Session.java +++ b/src/main/java/design/controller/userinput/Session.java @@ -1,16 +1,8 @@ package design.controller.userinput; import design.model.Golfer; -import design.persistence.MasterDatabase; -import design.persistence.PersonalDatabase; public final class Session { - private Session() { - } - - public static final PersonalDatabase PDB = PersonalDatabase.INSTANCE; - public static final MasterDatabase MDB = MasterDatabase.INSTANCE; - private static Golfer currentGolfer; public static Golfer getCurrentGolfer() { @@ -20,5 +12,4 @@ public final class Session { public static void setCurrentGolfer(Golfer currentGolfer) { Session.currentGolfer = currentGolfer; } - } diff --git a/src/main/java/design/controller/userinput/menus/CourseSelectMenu.java b/src/main/java/design/controller/userinput/menus/CourseSelectMenu.java index cf6f4b1..7cef7fc 100644 --- a/src/main/java/design/controller/userinput/menus/CourseSelectMenu.java +++ b/src/main/java/design/controller/userinput/menus/CourseSelectMenu.java @@ -12,6 +12,9 @@ import java.util.ArrayList; import java.util.List; import java.util.Scanner; +import design.persistence.MasterDatabase; +import design.persistence.PersonalDatabase; + public class CourseSelectMenu extends Menu { @Override @@ -23,13 +26,16 @@ public class CourseSelectMenu extends Menu { public List<MenuOption> getMenuOptions() { List<MenuOption> opts = new ArrayList<>(); - // 0) pick course by number TODO: add error checking + // 0) back + opts.add(new MenuOption("back to main menu", a -> new MainMenu().present())); + + // 1) pick course by number TODO: add error checking opts.add(new MenuOption("pick course by number (1..1000)", a -> { Scanner sc = new Scanner(System.in); System.out.print("Course number (1..1000): "); int n = Integer.parseInt(sc.nextLine().trim()); - Course c = Session.MDB.getCourse(n - 1); + Course c = MasterDatabase.INSTANCE.getCourse(n - 1); System.out.print("Starting hole (1..18, blank=1): "); String s = sc.nextLine().trim(); @@ -42,9 +48,6 @@ public class CourseSelectMenu extends Menu { new HolePlayMenu(r).present(); })); - // 1) back - opts.add(new MenuOption("back to main menu", a -> new MainMenu().present())); - return opts; } } diff --git a/src/main/java/design/controller/userinput/menus/HolePlayMenu.java b/src/main/java/design/controller/userinput/menus/HolePlayMenu.java index 63447e2..782b662 100644 --- a/src/main/java/design/controller/userinput/menus/HolePlayMenu.java +++ b/src/main/java/design/controller/userinput/menus/HolePlayMenu.java @@ -6,6 +6,7 @@ import design.controller.userinput.Session; import design.model.Club; import design.model.Round; import design.model.holeplay.HolePlayContext; +import design.persistence.PersonalDatabase; import java.util.ArrayList; import java.util.List; @@ -18,7 +19,7 @@ public class HolePlayMenu extends Menu { public HolePlayMenu(Round round) { this.round = round; - this.ctx = new HolePlayContext(Session.getCurrentGolfer(), round, Session.PDB); + this.ctx = new HolePlayContext(Session.getCurrentGolfer(), round, PersonalDatabase.INSTANCE); } @Override diff --git a/src/main/java/design/persistence/JSONPersonalDatabase.java b/src/main/java/design/persistence/JSONPersonalDatabase.java index 187c2d2..b034680 100644 --- a/src/main/java/design/persistence/JSONPersonalDatabase.java +++ b/src/main/java/design/persistence/JSONPersonalDatabase.java @@ -31,7 +31,9 @@ public class JSONPersonalDatabase implements PersonalDatabase { this.cache = new HashMap<>(); this.mapper = new ObjectMapper(); - mapper.configure(com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + // TODO: Once the saved JSON matches the model, consider removing. + // TEMP: tolerate unknown props while the model stabilizes + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); SimpleModule module = new SimpleModule(); module.addDeserializer(Course.class, new CourseIdDeserializer()); @@ -64,9 +66,7 @@ public class JSONPersonalDatabase implements PersonalDatabase { // turns that collection into a real array of golfers @Override public Golfer[] getGolfers() { - Collection<Golfer> golfers = cache.values(); - Golfer[] array = golfers.toArray(new Golfer[golfers.size()]); - return array; + return cache.values().toArray(Golfer[]::new); } @Override diff --git a/src/main/java/design/persistence/PersonalDatabase.java b/src/main/java/design/persistence/PersonalDatabase.java index 886bd0b..428694b 100644 --- a/src/main/java/design/persistence/PersonalDatabase.java +++ b/src/main/java/design/persistence/PersonalDatabase.java @@ -1,7 +1,6 @@ package design.persistence; import design.model.Golfer; - import java.io.IOException; public interface PersonalDatabase { @@ -16,13 +15,4 @@ public interface PersonalDatabase { void removeGolfer(Golfer golfer) throws IOException; void updateGolfer(Golfer golfer) throws IOException; - - default Golfer loadOrCreateGolfer(String username, String fullNameIfNew, String pwIfNew) throws IOException { - Golfer g = getGolfer(username); - if (g != null) - return g; - g = new Golfer(fullNameIfNew, username, pwIfNew); - addGolfer(g); - return g; - } } |
