Skip to content

Commit 66c3381

Browse files
committed
Refactored code to make it adhere to clean architecture
1 parent a0b3602 commit 66c3381

File tree

11 files changed

+83
-55
lines changed

11 files changed

+83
-55
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package data_access;
2+
3+
import interface_adapters.User_search_IA.UserRetriever;
4+
import interface_adapters.user_registration_interface_adapters.UserExists;
5+
import use_cases.user_registration_use_cases.UserCreator;
6+
7+
public abstract class Database implements UserCreator, UserRetriever, UserExists {
8+
}

src/main/java/data_access/UserDatabase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import java.io.*;
1414
import java.util.ArrayList;
1515
import java.util.List;
16-
public class UserDatabase implements UserExists, UserRetriever, UserCreator, IRetrieveList, UserModificationGateway, UserChatGateway {
16+
public class UserDatabase extends Database implements IRetrieveList, UserModificationGateway, UserChatGateway {
1717
File accounts;
1818
List<User> accountList;
1919
public UserDatabase(){

src/main/java/interface_adapters/user_registration_interface_adapters/UserRegistrationController.java

Lines changed: 6 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package interface_adapters.user_registration_interface_adapters;
22

3+
import data_access.Database;
34
import interface_adapters.User_search_IA.UserRetriever;
45
import screens.login_screen.UserLoginUI;
56
import use_cases.user_registration_use_cases.verificationMethodFactory;
@@ -15,20 +16,12 @@ public class UserRegistrationController implements UserVerifier, ActionListener,
1516
private final String email;
1617
private String preference;
1718
private boolean userExists = false;
18-
private UserCreator database;
19+
private Database database;
1920
Random random;
2021
private final int code;
2122
private JTextField verificationCodeText;
2223
private JLabel success;
2324

24-
/*public UserRegistrationController(int code, String Username, String Password, String email, UserDatabase database){
25-
this.code = code;
26-
this.username = Username;
27-
this.password = Password;
28-
this.email = email;
29-
this.database = database;
30-
}*/
31-
3225
public UserRegistrationController(UserRegistrationGateway properties){
3326
this.username = properties.getUsername();
3427
this.password = properties.getPassword();
@@ -73,48 +66,20 @@ public void verify(String email){
7366
public void registerUser() {
7467
if(this.userExists){
7568
System.out.println("An account with this username or email already exists");
76-
accountExistsMessage();
69+
UserRegistrationPresenter.accountExistsMessage();
7770
}else{
7871
this.verify(email);
7972
}
8073
}
81-
82-
public static void accountExistsMessage(){
83-
JFrame accountExistsFrame = new JFrame();
84-
accountExistsFrame.setSize(400, 100);
85-
accountExistsFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
86-
JPanel accountExistsPanel = new JPanel();
87-
accountExistsPanel.setLayout(null);
88-
accountExistsFrame.add(accountExistsPanel);
89-
JLabel errorMessage = new JLabel("An account with this username or email already exists");
90-
errorMessage.setBounds(10,20, 350, 20);
91-
accountExistsPanel.add(errorMessage);
92-
accountExistsFrame.setVisible(true);
93-
}
94-
95-
public static void verificationSuccessMessage(String message){
96-
JFrame verificationSuccessFrame = new JFrame();
97-
verificationSuccessFrame.setSize(400, 100);
98-
verificationSuccessFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
99-
JPanel verificationSuccessPanel = new JPanel();
100-
verificationSuccessPanel.setLayout(null);
101-
verificationSuccessFrame.add(verificationSuccessPanel);
102-
JLabel errorMessage = new JLabel(message);
103-
errorMessage.setBounds(10,20, 350, 20);
104-
verificationSuccessPanel.add(errorMessage);
105-
verificationSuccessFrame.setVisible(true);
106-
}
107-
10874
@Override
10975
public void actionPerformed(ActionEvent e) {
11076
int verCode = Integer.parseInt(verificationCodeText.getText());
11177
if(verCode == this.code){
11278
database.createUser(this.username, this.password, this.email, "Basic");
113-
verificationSuccessMessage("Verification successful");
114-
UserLoginUI loginUI = new UserLoginUI((UserRetriever) database);
115-
loginUI.getLoginCredentials();
79+
UserRegistrationPresenter.verificationSuccessMessage("Verification successful");
80+
UserRegistrationPresenter.registrationSuccessAction(this.database);
11681
}else{
117-
verificationSuccessMessage("Could not verify please try again");
82+
UserRegistrationPresenter.verificationSuccessMessage("verification unsuccessful");
11883
}
11984
}
12085
}

src/main/java/interface_adapters/user_registration_interface_adapters/UserRegistrationGateway.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
package interface_adapters.user_registration_interface_adapters;
2+
import data_access.Database;
23
import use_cases.user_registration_use_cases.UserCreator;
34
public class UserRegistrationGateway {
45
private String username;
56
private String password;
67
private String email;
78
private boolean userExists = false;
89
private int code;
9-
private UserCreator database;
10+
private Database database;
1011

1112
private String preference;
1213

@@ -46,11 +47,11 @@ public void setCode(int code){
4647
this.code = code;
4748
}
4849

49-
public void setDatabase(UserCreator database) {
50+
public void setDatabase(Database database) {
5051
this.database = database;
5152
}
5253

53-
public UserCreator getDatabase(){
54+
public Database getDatabase(){
5455
return this.database;
5556
}
5657

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package interface_adapters.user_registration_interface_adapters;
2+
3+
import data_access.Database;
4+
import screens.login_screen.UserLoginUI;
5+
import use_cases.loginCredentialsRetriever;
6+
7+
import javax.swing.*;
8+
9+
public class UserRegistrationPresenter {
10+
11+
public static void accountExistsMessage(){
12+
JFrame accountExistsFrame = new JFrame();
13+
accountExistsFrame.setSize(400, 100);
14+
accountExistsFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
15+
JPanel accountExistsPanel = new JPanel();
16+
accountExistsPanel.setLayout(null);
17+
accountExistsFrame.add(accountExistsPanel);
18+
JLabel errorMessage = new JLabel("An account with this username or email already exists");
19+
errorMessage.setBounds(10,20, 350, 20);
20+
accountExistsPanel.add(errorMessage);
21+
accountExistsFrame.setVisible(true);
22+
}
23+
24+
public static void verificationSuccessMessage(String message){
25+
JFrame verificationSuccessFrame = new JFrame();
26+
verificationSuccessFrame.setSize(400, 100);
27+
verificationSuccessFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
28+
JPanel verificationSuccessPanel = new JPanel();
29+
verificationSuccessPanel.setLayout(null);
30+
verificationSuccessFrame.add(verificationSuccessPanel);
31+
JLabel errorMessage = new JLabel(message);
32+
errorMessage.setBounds(10,20, 350, 20);
33+
verificationSuccessPanel.add(errorMessage);
34+
verificationSuccessFrame.setVisible(true);
35+
}
36+
37+
public static void registrationSuccessAction(Database database){
38+
loginCredentialsRetriever loginUI = new UserLoginUI(database);
39+
loginUI.getLoginCredentials();
40+
}
41+
}

src/main/java/screens/login_screen/UserLoginUI.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,28 @@
11
package screens.login_screen;
2+
import data_access.Database;
23
import interface_adapters.login_interface_adapters.UserLoginController;
34
import interface_adapters.login_interface_adapters.UserLoginGateway;
45
import interface_adapters.User_search_IA.UserRetriever;
56
import data_access.UserDatabase;
7+
import use_cases.loginCredentialsRetriever;
68

79
import javax.swing.*;
810
import java.awt.event.ActionEvent;
911
import java.awt.event.ActionListener;
1012
import java.io.File;
1113
/** This is the screen on which the user enters his credentials in order to login **/
12-
public class UserLoginUI implements ActionListener {
14+
public class UserLoginUI implements ActionListener, loginCredentialsRetriever {
1315

1416
private JTextField credentialText;
1517
private JLabel passwordLabel;
1618
private JPasswordField passwordText;
1719

18-
private UserRetriever database;
20+
private final Database database;
1921

20-
public UserLoginUI(UserRetriever database){
22+
public UserLoginUI(Database database){
2123
this.database = database;
2224
}
25+
@Override
2326
public void getLoginCredentials(){
2427
JFrame loginFrame = new JFrame();
2528
loginFrame.setSize(400, 400);
@@ -53,7 +56,7 @@ public void getLoginCredentials(){
5356
}
5457

5558
public static void main(String[] args){
56-
UserRetriever testDB = new UserDatabase(new File("user_accounts"));
59+
Database testDB = new UserDatabase(new File("user_accounts"));
5760
UserLoginUI screen = new UserLoginUI(testDB);
5861
screen.getLoginCredentials();
5962
}

src/main/java/screens/user_registration_screen/LoginRegisterScreen.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
package screens.user_registration_screen;
22

33
import data_access.UserDatabase;
4-
import interface_adapters.login_interface_adapters.Login;
54
import screens.login_screen.UserLoginUI;
6-
import screens.user_registration_screen.UserRegistrationUI;
75

86
import javax.swing.*;
97
import java.awt.event.ActionEvent;
@@ -43,7 +41,7 @@ public void actionPerformed(ActionEvent e) {
4341
loginUI.getLoginCredentials();
4442
}else{
4543
UserRegistrationUI registrationUI = new UserRegistrationUI(new UserDatabase());
46-
registrationUI.GetUserCredentials();
44+
registrationUI.getUserCredentials();
4745
}
4846
}
4947
}

src/main/java/screens/user_registration_screen/UserRegistrationUI.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@
33
import interface_adapters.user_registration_interface_adapters.UserRegistrationController;
44
import interface_adapters.user_registration_interface_adapters.UserRegistrationGateway;
55
import data_access.UserDatabase;
6+
import use_cases.user_registration_use_cases.userRegCredentialsRetriever;
67

78
import javax.swing.*;
89
import java.awt.event.ActionEvent;
910
import java.awt.event.ActionListener;
1011
import java.io.File;
1112
import java.util.Random;
1213
/** This is screen on which the User enters his credentials in order to login**/
13-
public class UserRegistrationUI implements ActionListener {
14+
public class UserRegistrationUI implements ActionListener, userRegCredentialsRetriever {
1415
private final UserDatabase database;
1516
private JLabel registrationSuccess;
1617
private JTextField usernameText;
@@ -28,7 +29,8 @@ public UserRegistrationUI(UserDatabase database) {
2829
*/
2930
code = new Random().nextInt(1244254);
3031
}
31-
void GetUserCredentials(){
32+
@Override
33+
public void getUserCredentials(){
3234
//Front end related objects
3335
JFrame registerFrame = new JFrame();
3436
registerFrame.setSize(500, 300);
@@ -104,7 +106,7 @@ public static void main(String[] args){
104106
System.out.println(testDB.getList().size());
105107
UserRegistrationUI testUI = new UserRegistrationUI(testDB);
106108

107-
testUI.GetUserCredentials();
109+
testUI.getUserCredentials();
108110
}
109111

110112
@Override
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package use_cases;
2+
3+
public interface loginCredentialsRetriever {
4+
void getLoginCredentials();
5+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package use_cases.user_registration_use_cases;
2+
3+
public interface userRegCredentialsRetriever {
4+
void getUserCredentials();
5+
}

0 commit comments

Comments
 (0)