From 85c8af8ad5109d04088d5de942b0b4f5d3764074 Mon Sep 17 00:00:00 2001 From: jjunjji Date: Sun, 4 Jun 2023 02:54:53 +0900 Subject: [PATCH 1/5] [Refactoring] Create ControlDeskClickEvent class as ControlDeskView internal class --- ControlDeskView.java | 47 +++++++++++++++++++++----------------------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/ControlDeskView.java b/ControlDeskView.java index 29edbb1..197ee08 100644 --- a/ControlDeskView.java +++ b/ControlDeskView.java @@ -20,7 +20,7 @@ import java.util.*; -public class ControlDeskView implements ActionListener, ControlDeskObserver { +public class ControlDeskView implements ControlDeskObserver { private JButton addParty, finished, assign; private JFrame win; @@ -44,6 +44,8 @@ public ControlDeskView(ControlDesk controlDesk, int maxMembers) { this.maxMembers = maxMembers; int numLanes = controlDesk.getNumLanes(); + ControlDeskClickEvent listener = new ControlDeskClickEvent(); + win = new JFrame("Control Desk"); win.getContentPane().setLayout(new BorderLayout()); ((JPanel) win.getContentPane()).setOpaque(false); @@ -55,16 +57,16 @@ public ControlDeskView(ControlDesk controlDesk, int maxMembers) { JPanel controlsPanel = createPanel("Controls", new GridLayout(3, 1)); JPanel addPartyPanel = new JPanel(); - addParty = createButton("Add Party", addPartyPanel, this); + addParty = createButton("Add Party", addPartyPanel, listener); controlsPanel.add(addPartyPanel); JPanel assignPanel = new JPanel(); - assign = createButton("Assign Lanes", assignPanel, this); + assign = createButton("Assign Lanes", assignPanel, listener); assignPanel.add(assign); // controlsPanel.add(assignPanel); JPanel finishedPanel = new JPanel(); - finished = createButton("Finished", finishedPanel, this); + finished = createButton("Finished", finishedPanel, listener); controlsPanel.add(finishedPanel); // Lane Status Panel @@ -138,27 +140,6 @@ private JPanel createPanel(String title, LayoutManager mgr){ return panel; } - /** - * Handler for actionEvents - * - * @param e the ActionEvent that triggered the handler - * - */ - - public void actionPerformed(ActionEvent e) { - if (e.getSource().equals(addParty)) { - setCommand(new ControlDeskViewAddPartyCommand(this)); - } - else if (e.getSource().equals(assign)) { - setCommand(new ControlDeskViewAssignCommand(this)); - } - else if (e.getSource().equals(finished)) { - setCommand(new ExitProgramCommand(this)); - } - - buttonPressed(); - } - // The Invoker holds a command and can use it to call a method public void setCommand(ButtonCommand command) { this.command = command; @@ -201,4 +182,20 @@ public JFrame getWin() { public ControlDesk getControlDesk() { return controlDesk; } + + public class ControlDeskClickEvent implements ActionListener{ + public void actionPerformed(ActionEvent e) { + if (e.getSource().equals(addParty)) { + setCommand(new ControlDeskViewAddPartyCommand(ControlDeskView.this)); + } + else if (e.getSource().equals(assign)) { + setCommand(new ControlDeskViewAssignCommand(ControlDeskView.this)); + } + else if (e.getSource().equals(finished)) { + setCommand(new ExitProgramCommand(ControlDeskView.this)); + } + + buttonPressed(); + } + } } From 67f050fe965f2b4add49cd7da8a32d19c3f48119 Mon Sep 17 00:00:00 2001 From: jjunjji Date: Sun, 4 Jun 2023 02:59:02 +0900 Subject: [PATCH 2/5] [Refactoring] Change to registerPatron's Access Modifier public --- ControlDesk.java | 8 +------- PartyQueueManager.java | 2 +- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/ControlDesk.java b/ControlDesk.java index 86dd262..b43faa5 100644 --- a/ControlDesk.java +++ b/ControlDesk.java @@ -101,16 +101,10 @@ public void run() { * */ - private Bowler registerPatron(String nickName) { + public Bowler registerPatron(String nickName) { return registrationManager.registerPatron(nickName); } - //PartyQueueManager에서 사용하기 위한 public 메소드 - public Bowler registerBowler(String nickName) { - return registerPatron(nickName); - } - - /** * Iterate through the available lanes and assign the paties in the wait queue if lanes are available. * diff --git a/PartyQueueManager.java b/PartyQueueManager.java index 4d6e09d..2e75974 100644 --- a/PartyQueueManager.java +++ b/PartyQueueManager.java @@ -21,7 +21,7 @@ public PartyQueueManager(ControlDesk controlDesk) { public void addPartyQueue(Vector partyNicks) { Vector partyBowlers = new Vector<>(); for (String partyNick : partyNicks) { - Bowler newBowler = controlDesk.registerBowler(partyNick); + Bowler newBowler = controlDesk.registerPatron(partyNick); partyBowlers.add(newBowler); } Party newParty = new Party(partyBowlers); From 28e40133117bfe4ce7dafb3d3f24fa3a35f3cfd4 Mon Sep 17 00:00:00 2001 From: jjunjji Date: Sun, 4 Jun 2023 03:00:21 +0900 Subject: [PATCH 3/5] [Refactoring] Change dispose() to setVisible(false) in ExitProgramCommand.java --- ExitProgramCommand.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ExitProgramCommand.java b/ExitProgramCommand.java index e5cdd13..bf5cabd 100644 --- a/ExitProgramCommand.java +++ b/ExitProgramCommand.java @@ -8,7 +8,7 @@ public ExitProgramCommand(ControlDeskView theView) { @Override public void execute() { - theView.getWin().dispose(); + theView.getWin().setVisible(false); System.exit(0); } } \ No newline at end of file From b01faedc6c97770563ec5f257b3e3049b41f6a2f Mon Sep 17 00:00:00 2001 From: jjunjji Date: Sun, 4 Jun 2023 03:15:08 +0900 Subject: [PATCH 4/5] [Refactoring] side effect of Singleton Parttern for BowlerFile --- BowlerRegistrationManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BowlerRegistrationManager.java b/BowlerRegistrationManager.java index 40b1f00..5035a1a 100644 --- a/BowlerRegistrationManager.java +++ b/BowlerRegistrationManager.java @@ -22,7 +22,7 @@ public Bowler registerPatron(String nickName) { try { // only one patron / nick.... no dupes, no checks - patron = BowlerFile.getBowlerInfo(nickName); + patron = BowlerFile.getInstance().getBowlerInfo(nickName); } catch (IOException e) { System.err.println("Error..." + e); From 35accb86834ef7e52f9220bc5b2fb5ed016797b3 Mon Sep 17 00:00:00 2001 From: jjunjji Date: Sun, 4 Jun 2023 03:16:35 +0900 Subject: [PATCH 5/5] [Refactoring] print error for exception for run() method in ControlDesk.java --- ControlDesk.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ControlDesk.java b/ControlDesk.java index b43faa5..245e6a7 100644 --- a/ControlDesk.java +++ b/ControlDesk.java @@ -87,7 +87,9 @@ public void run() { try { sleep(SLEEPMS); - } catch (Exception e) {} + } catch (Exception e) { + System.err.println(e.getMessage()); + } } }