Skip to content

Commit 3092988

Browse files
committed
Merge remote-tracking branch 'origin/feature-4-editing-flashcard-set' into feature-5-flashcard-creator-and-remover
2 parents 80a5e02 + aaa916e commit 3092988

37 files changed

+1119
-67
lines changed

gradlew

100644100755
File mode changed.

src/main/java/Editor/FlashcardSet/screens/InMemoryFlashcardSet.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,22 @@ public void saveFlashcardID(int flashcardSetId, int flashcardId) {
4343
flashcardSets.put(flashcardSetId, newFlashcardSet);
4444
}
4545

46+
@Override
47+
public void removeFlashcardId(int flashcardSetId, int flashcardId) {
48+
FlashcardSetDsRequestModel oldFlashcardSet = flashcardSets.get(flashcardSetId);
49+
String title = oldFlashcardSet.getTitle();
50+
String description = oldFlashcardSet.getDescription();
51+
boolean isPrivate = oldFlashcardSet.getIsPrivate();
52+
List<Integer> flashcardIds = oldFlashcardSet.getFlashcardIds();
53+
String owner = oldFlashcardSet.getOwnerUsername();
54+
55+
ArrayList<Integer> newFlashcardIds = new ArrayList<>(flashcardIds);
56+
newFlashcardIds.remove(flashcardId);
57+
FlashcardSetDsRequestModel newFlashcardSet = new FlashcardSetDsRequestModel(title, description, isPrivate, flashcardSetId, owner, newFlashcardIds);
58+
59+
flashcardSets.put(flashcardSetId, newFlashcardSet);
60+
}
61+
4662
@Override
4763
public void deleteFlashcardSet(int flashcardSetID) {
4864
flashcardSets.remove(flashcardSetID);

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/IFlashcardSetDataAccess.java

Lines changed: 1 addition & 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);
@@ -23,4 +20,5 @@ public interface IFlashcardSetDataAccess {
2320

2421
int saveFlashcardSet(FlashcardSetDsRequestModel flashcardSet);
2522

23+
2624
}

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)