Skip to content

Commit 28f4a49

Browse files
Merge branch 'main' of https://github.com/CSC207-2022F-UofT/course-project-team-bbq into feature-4-editing-flashcard-set
# Conflicts: # .idea/misc.xml
2 parents f4826b9 + 5173ac3 commit 28f4a49

File tree

60 files changed

+1661
-67
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+1661
-67
lines changed

gradlew

100644100755
File mode changed.

src/main/java/Main.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
import com.formdev.flatlaf.FlatIntelliJLaf;
22
import com.formdev.flatlaf.FlatDarculaLaf;
33

4+
import loginAndSignupUseCase.loginAndSignupUseCaseScreens.WelcomeScreen;
45
import quizUseCase.*;
56
import dataAccess.*;
67
import quizUseCase.screens.QuizSettingsScreen;
78

9+
import javax.swing.*;
10+
import java.awt.*;
811
import java.io.IOException;
912

1013
/**
@@ -19,9 +22,20 @@ public static void main(String[] args) throws IOException {
1922
// DATABASE
2023
IFlashcardDataAccess flashcardGateway = new FlashcardDataAccess(DBGateway.getFlashcardPath());
2124
IFlashcardSetDataAccess flashcardSetGateway = new FlashcardSetDataAccess(DBGateway.getFlashcardSetPath());
22-
// IUserDataAccess userGateway = new CommonUserDataAccess(DBGateway.getUserPath());
25+
IUserDataAccess userGateway = new CommonUserDataAccess(DBGateway.getUserPath());
2326

24-
DBGateway gateway = new DBGateway(flashcardGateway, flashcardSetGateway, null);
27+
DBGateway gateway = new DBGateway(flashcardGateway, flashcardSetGateway, userGateway);
28+
29+
//Welcome Screen
30+
JFrame application = new JFrame("Welcome");
31+
CardLayout cardLayout = new CardLayout();
32+
JPanel screens = new JPanel(cardLayout);
33+
application.add(screens);
34+
WelcomeScreen welcome = new WelcomeScreen();
35+
screens.add(welcome, "Welcome");
36+
cardLayout.show(screens, "Welcome");
37+
application.pack();
38+
application.setVisible(true);
2539

2640
// QUIZ SETTINGS USE CASE
2741
QuizOutputBoundary presenter = new QuizPresenter();

src/main/java/dataAccess/CommonUserDataAccess.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
package dataAccess;
22

33
import entityRequestModels.CommonUserDsRequestModel;
4-
import entityRequestModels.FlashcardDsRequestModel;
5-
import entityRequestModels.UserDsRequestModel;
64

75
import java.io.*;
8-
import java.time.LocalDateTime;
96
import java.util.*;
107

118
public class CommonUserDataAccess implements IUserDataAccess{

src/main/java/dataAccess/FlashcardSetDataAccess.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,21 @@ public void saveFlashcardID(int flashcardSetId, int flashcardId) {
111111
save();
112112
}
113113

114+
@Override
115+
public void removeFlashcardId(int flashcardSetId, int flashcardId){
116+
FlashcardSetDsRequestModel oldFlashcardSet = flashcardSets.get(flashcardSetId);
117+
List<Integer> newFlashcards = new ArrayList<>(oldFlashcardSet.getFlashcardIds());
118+
newFlashcards.remove(Integer.valueOf(flashcardId));
119+
FlashcardSetDsRequestModel newFlashcardSet = new FlashcardSetDsRequestModel(
120+
oldFlashcardSet.getTitle(),
121+
oldFlashcardSet.getDescription(),
122+
oldFlashcardSet.getIsPrivate(),
123+
flashcardSetId, oldFlashcardSet.getOwnerUsername(), newFlashcards);
124+
125+
flashcardSets.put(flashcardSetId, newFlashcardSet);
126+
save();
127+
}
128+
114129
@Override
115130
public void deleteFlashcardSet(int flashcardSetID) {
116131
flashcardSets.remove(flashcardSetID);

src/main/java/dataAccess/IFlashcardSetDataAccess.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@
66
// use case layer
77
public interface IFlashcardSetDataAccess {
88

9-
10-
11-
129
FlashcardSetDsRequestModel getFlashcardSet(int flashcardSetId);
1310

1411
String[] getTitleAndDescription(int flashcardSetId);
@@ -17,8 +14,11 @@ public interface IFlashcardSetDataAccess {
1714

1815
void saveFlashcardID(int flashcardSetId, int flashcardId);
1916

17+
void removeFlashcardId(int flashcardSetId, int flashcardId);
18+
2019
void deleteFlashcardSet(int flashcardSetID);
2120

2221
int saveFlashcardSet(FlashcardSetDsRequestModel flashcardSet);
2322

23+
2424
}

src/main/java/entities/AdminUser.java

Lines changed: 0 additions & 10 deletions
This file was deleted.

src/main/java/entities/AdminUserFactory.java

Lines changed: 0 additions & 9 deletions
This file was deleted.
Lines changed: 59 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,64 @@
11
package entities;
22

3-
public class CommonUser extends User{
3+
import java.util.ArrayList;
44

5-
public CommonUser(String username, String password){
6-
super(username, password);
5+
public class CommonUser implements User{
6+
7+
private String username;
8+
9+
private String password;
10+
private boolean isAdmin;
11+
final String ADMIN_KEY = "BuiltDifferent";
12+
final ArrayList<Integer> flashcardSetIds;
13+
14+
public CommonUser(String username, String password, boolean isAdmin){
15+
this.username = username;
16+
this.password = password;
17+
this.isAdmin = isAdmin;
18+
this.flashcardSetIds = new ArrayList<>();
19+
}
20+
21+
@Override
22+
public String getUsername() {
23+
return username;
24+
}
25+
26+
public void setUsername(String username) {
27+
this.username = username;
28+
}
29+
30+
@Override
31+
public String getPassword() {
32+
return password;
733
}
34+
35+
public void setPassword(String password) {
36+
this.password = password;
37+
}
38+
39+
@Override
40+
public boolean passwordIsValid() {
41+
return password != null && password.length() > 5;
42+
}
43+
44+
@Override
45+
public boolean getIsAdmin() {
46+
return isAdmin;
47+
}
48+
49+
public void setIsAdmin(boolean isAdmin){
50+
this.isAdmin = isAdmin;
51+
}
52+
53+
@Override
54+
public ArrayList<Integer> getFlashcardSetIds() {
55+
return flashcardSetIds;
56+
}
57+
58+
@Override
59+
public boolean adminKeyValid(String adminKey) {
60+
return adminKey.equals(ADMIN_KEY);
61+
}
62+
63+
864
}

src/main/java/entities/CommonUserFactory.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
public class CommonUserFactory implements UserFactory {
44

55
@Override
6-
public User create(String username, String password) {
7-
return new CommonUser(username, password);
6+
public User create(String username, String password, boolean isAdmin) {
7+
return new CommonUser(username, password, isAdmin);
88
}
99
}

src/main/java/entities/FlashcardSet.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,4 +59,4 @@ public void setIsPrivate(boolean aPrivate) {
5959
public void addFlashcard(Flashcard flashcard) {
6060
this.flashcards.add(flashcard);
6161
}
62-
}
62+
}

0 commit comments

Comments
 (0)