Skip to content

Commit 7939753

Browse files
committed
Fixed admin deletion, added in gateway to constructor of DeletionScreen, close windows after moving on to next steps of search, added error message for empty database.
1 parent c8cfd1f commit 7939753

File tree

5 files changed

+27
-8
lines changed

5 files changed

+27
-8
lines changed

src/main/java/MainPage/FlashcardSetDataPanel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public FlashcardSetDataPanel(String title, String description,
5454
DelFlashcardSetOutputBoundary presenter = new DelFlashcardSetPresenter();
5555
DelFlashcardSetInputBoundary interactor = new DelFlashcardSetInteractor(gateway, presenter);
5656
DelFlashcardSetController controller = new DelFlashcardSetController(interactor);
57-
new DeletionScreen(flashcardSetId, controller, user);
57+
new DeletionScreen(flashcardSetId, controller, user, gateway);
5858
});
5959

6060
this.add(buttons);

src/main/java/delete_flashcardset_use_case/DeletionScreen.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
package delete_flashcardset_use_case;
22

33

4+
import dataAccess.DBGateway;
5+
import entityRequestModels.CommonUserDsRequestModel;
46
import login_and_signup_use_case.UserLoginResponseModel;
57

68
import javax.swing.*;
79
import java.awt.*;
810
import java.awt.event.ActionEvent;
911
import java.awt.event.ActionListener;
12+
import java.util.ArrayList;
13+
import java.util.Collection;
1014
import java.util.Objects;
1115

1216
// Frameworks/Drivers (Blue) layer
@@ -23,6 +27,7 @@ public class DeletionScreen extends JFrame implements ActionListener {
2327
* The controller
2428
*/
2529
DelFlashcardSetController controller;
30+
DBGateway gateway;
2631

2732
// /**
2833
// * The application
@@ -32,10 +37,12 @@ public class DeletionScreen extends JFrame implements ActionListener {
3237
/**
3338
* A window with a title and a JButton.
3439
*/
35-
public DeletionScreen(int flashcardSetID, DelFlashcardSetController controller, UserLoginResponseModel user) {
40+
public DeletionScreen(int flashcardSetID, DelFlashcardSetController controller, UserLoginResponseModel user,
41+
DBGateway gateway) {
3642
this.user=user;
3743
this.flashcardSetID = flashcardSetID;
3844
this.controller = controller;
45+
this.gateway = gateway;
3946

4047
JLabel name = new JLabel("Flashcard Set Deletion Screen");
4148
name.setAlignmentX(Component.CENTER_ALIGNMENT);
@@ -80,7 +87,16 @@ public void actionPerformed(ActionEvent evt) {
8087
// int id = Integer.parseInt(flashcardSetID.getText()); // check input is an integer
8188

8289
// Ask for confirmation
83-
String title = user.getFlashcardSets().get(flashcardSetID)[0];
90+
String title;
91+
// Admin deletion
92+
if (user.getFlashcardSets().get(flashcardSetID) == null){
93+
title = gateway.getFlashcardSet(flashcardSetID).getTitle();
94+
}
95+
else{
96+
// User deletion
97+
title = user.getFlashcardSets().get(flashcardSetID)[0];
98+
}
99+
84100

85101
int confirmation = JOptionPane.showConfirmDialog(this,
86102
"Delete " + title + "?",

src/main/java/search_use_case/ResultsScreen.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,8 @@ public ResultsScreen(SearchResponseModel responseModel, DBGateway gateway, UserL
8888
DelFlashcardSetInputBoundary interactor = new DelFlashcardSetInteractor(gateway, presenter);
8989
DelFlashcardSetController controller = new DelFlashcardSetController(interactor);
9090
new DeletionScreen(responseModel.getResult_set().get(tempX)
91-
.getFlashcardSetId(), controller, user);
91+
.getFlashcardSetId(), controller, user, gateway);
92+
this.dispose();
9293
});
9394

9495
// add elements to the GridLayout

src/main/java/search_use_case/SearchInteractor.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,15 +90,15 @@ public SearchResponseModel create(SearchRequestModel requestModel) throws IOExce
9090
SearchResponseModel searchResponseModel = new SearchResponseModel(result_set);
9191
return presenter.prepareSuccessView(searchResponseModel);
9292
}
93+
if (tags.size() > 0 && !input.equals("")){
94+
return presenter.prepareFailView("There are currently no FlashcardSets in the database.");
95+
}
9396
// User chooses no tags
9497
if (tags.size() == 0){
9598
return presenter.prepareFailView("Please select at least 1 tag.");
9699
}
97100
// User provides no input
98-
if (input.equals("")){
99-
return presenter.prepareFailView("Please enter a keyword to search.");
100-
}
101+
return presenter.prepareFailView("Please enter a keyword to search.");
101102
// User search unsuccessful
102-
return presenter.prepareFailView("No Flashcard Sets matched your search criteria, please try again.");
103103
}
104104
}

src/main/java/search_use_case/SearchScreen.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ public SearchScreen(SearchController search_controller, DBGateway gateway, UserL
6464
SearchRequestModel requestModel = new SearchRequestModel(s1, selected_tags, curr_user);
6565
new ResultsScreen(search_controller.create(requestModel),
6666
gateway, curr_user);
67+
this.dispose();
6768
}
6869
catch (Exception x){
6970
JOptionPane.showMessageDialog(this, x.getMessage());
@@ -80,6 +81,7 @@ public SearchScreen(SearchController search_controller, DBGateway gateway, UserL
8081
selected_tags, curr_user);
8182
new ResultsScreen(search_controller.create(requestModel),
8283
gateway, curr_user);
84+
this.dispose();
8385
}
8486
catch (Exception x){
8587
JOptionPane.showMessageDialog(this, x.getMessage());

0 commit comments

Comments
 (0)