diff --git a/src/main/java/edu/group5/app/App.java b/src/main/java/edu/group5/app/App.java index 6704bd2..b9f0db4 100644 --- a/src/main/java/edu/group5/app/App.java +++ b/src/main/java/edu/group5/app/App.java @@ -1,6 +1,9 @@ package edu.group5.app; import edu.group5.app.control.MainController; +import edu.group5.app.control.wrapper.DbWrapper; +import edu.group5.app.control.wrapper.OrgApiWrapper; +import edu.group5.app.model.organization.OrganizationRepository; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.image.Image; @@ -11,11 +14,15 @@ */ public class App extends Application { @Override - public void start(Stage stage) { + public void start(Stage stage) throws InterruptedException { + OrgApiWrapper orgApiWrapper = new OrgApiWrapper("https://app.innsamlingskontrollen.no/api/public/v1/all"); + orgApiWrapper.importData(); + OrganizationRepository organizationRepository = new OrganizationRepository(orgApiWrapper.getData()); + MainController controller = new MainController(); Scene scene = controller.getMainView().getScene(); - controller.showLoginPage(); + controller.showHomePage(); stage.getIcons().add(new Image(getClass().getResource("/header/images/hmh-logo.png").toExternalForm())); stage.setTitle("Help-Me-Help"); diff --git a/src/main/java/edu/group5/app/control/BrowseCardController.java b/src/main/java/edu/group5/app/control/BrowseCardController.java deleted file mode 100644 index 297ba9f..0000000 --- a/src/main/java/edu/group5/app/control/BrowseCardController.java +++ /dev/null @@ -1,14 +0,0 @@ -package edu.group5.app.control; - -public class BrowseCardController { - private final MainController controller; - - public BrowseCardController(MainController mainController) { - this.controller = mainController; - } - - public void handleCardClick() { - System.out.println("Browse Card Clicked"); - controller.showOrganizationPage(); - } -} diff --git a/src/main/java/edu/group5/app/control/BrowsePageController.java b/src/main/java/edu/group5/app/control/BrowsePageController.java deleted file mode 100644 index 0922e68..0000000 --- a/src/main/java/edu/group5/app/control/BrowsePageController.java +++ /dev/null @@ -1,9 +0,0 @@ -package edu.group5.app.control; - -public class BrowsePageController { - private final MainController controller; - - public BrowsePageController(MainController mainController) { - this.controller = mainController; - } -} diff --git a/src/main/java/edu/group5/app/control/HeaderController.java b/src/main/java/edu/group5/app/control/HeaderController.java deleted file mode 100644 index 0a1e424..0000000 --- a/src/main/java/edu/group5/app/control/HeaderController.java +++ /dev/null @@ -1,28 +0,0 @@ -package edu.group5.app.control; - -public class HeaderController { - private final MainController controller; - - public HeaderController(MainController controller) { - this.controller = controller; - } - - public void handleHomeBtn() { - System.out.println("Home button pressed"); - controller.showHomePage(); - } - - public void handleCausesBtn() { - System.out.println("Causes button pressed"); - controller.showBrowsePage(); - } - - public void handleAboutBtn() { - System.out.println("About button pressed"); - } - - public void handleProfileBtn() { - System.out.println("profileSection"); - controller.showUserPage(); - } -} diff --git a/src/main/java/edu/group5/app/control/HomePageController.java b/src/main/java/edu/group5/app/control/HomePageController.java deleted file mode 100644 index 10d3fbf..0000000 --- a/src/main/java/edu/group5/app/control/HomePageController.java +++ /dev/null @@ -1,19 +0,0 @@ -package edu.group5.app.control; - -public class HomePageController { - private final MainController controller; - - public HomePageController(MainController controller) { - this.controller = controller; - } - - public void handleDonateToACauseBtn() { - System.out.println("Donate to a cause button pressed"); - controller.showBrowsePage(); - } - - public void handleAboutUsBtn() { - System.out.println("About us button pressed"); - controller.showAboutUsPage(); - } -} diff --git a/src/main/java/edu/group5/app/control/LoginPageController.java b/src/main/java/edu/group5/app/control/LoginPageController.java deleted file mode 100644 index a06d135..0000000 --- a/src/main/java/edu/group5/app/control/LoginPageController.java +++ /dev/null @@ -1,13 +0,0 @@ -package edu.group5.app.control; - -public class LoginPageController { - private final MainController controller; - - public LoginPageController(MainController controller) { - this.controller = controller; - } - public void handleRegisterBtn() { - System.out.println("Sign in button pressed"); - controller.showSignInPage(); - } -} diff --git a/src/main/java/edu/group5/app/control/MainController.java b/src/main/java/edu/group5/app/control/MainController.java index 8106975..7f48f19 100644 --- a/src/main/java/edu/group5/app/control/MainController.java +++ b/src/main/java/edu/group5/app/control/MainController.java @@ -1,49 +1,41 @@ package edu.group5.app.control; -import edu.group5.app.control.donationpage.DonationPageController; import edu.group5.app.model.user.User; import edu.group5.app.view.MainView; -import edu.group5.app.view.donationpage.DonationPageView; public class MainController { private final MainView view; - private final HeaderController headerController; - private final HomePageController homePageController; - private final BrowsePageController browsePageController; - private final BrowseCardController browseCardController; - private final OrganizationPageController organizationPageController; - private final DonationPageController donationPageController; + private final PageController pageController; private User currentUser; public MainController() { this.view = new MainView(this); - this.headerController = new HeaderController(this); - this.homePageController = new HomePageController(this); - this.browsePageController = new BrowsePageController(this); - this.browseCardController = new BrowseCardController(this); - this.organizationPageController = new OrganizationPageController(this); - this.donationPageController = new DonationPageController(this); + this.pageController = new PageController(this); } - public void setCurrentUser(User user) { - this.currentUser = user; + public PageController getPageController() { + return this.pageController; } - public User getCurrentUser() { - return this.currentUser; - } - - public void logout() { - currentUser = null; - showLoginPage(); - } +// public void setCurrentUser(User user) { +// this.currentUser = user; +// } +// +// public User getCurrentUser() { +// return this.currentUser; +// } +// +// public void logout() { +// currentUser = null; +// showLoginPage(); +// } public MainView getMainView() { return view; } public void showHomePage() { - view.showHomePage(homePageController, headerController); + view.showHomePage(); } public void showLoginPage() { @@ -56,11 +48,11 @@ public void showPaymentCompletePage() { view.showPaymentCompletePage(); } public void showBrowsePage() { - view.showBrowsePage(browsePageController, browseCardController, headerController); + view.showBrowsePage(); } public void showOrganizationPage() { - view.showOrganizationPage(organizationPageController, headerController); + view.showOrganizationPage(); } public void showDonationPage() { diff --git a/src/main/java/edu/group5/app/control/OrganizationPageController.java b/src/main/java/edu/group5/app/control/OrganizationPageController.java deleted file mode 100644 index dd8f1bf..0000000 --- a/src/main/java/edu/group5/app/control/OrganizationPageController.java +++ /dev/null @@ -1,13 +0,0 @@ -package edu.group5.app.control; - -public class OrganizationPageController { - private final MainController controller; - - public OrganizationPageController(MainController controller) { - this.controller = controller; - } - - public void handleDonateClick() { - controller.showDonationPage(); - } -} diff --git a/src/main/java/edu/group5/app/control/PageController.java b/src/main/java/edu/group5/app/control/PageController.java new file mode 100644 index 0000000..0f52eb7 --- /dev/null +++ b/src/main/java/edu/group5/app/control/PageController.java @@ -0,0 +1,66 @@ +package edu.group5.app.control; + +public class PageController { + private final MainController controller; + + public PageController(MainController controller) { + this.controller = controller; + } + + public void handleHomeBtn() { + System.out.println("Home button pressed"); + controller.showHomePage(); + } + + public void handleCausesBtn() { + System.out.println("Causes button pressed"); + controller.showBrowsePage(); + } + + public void handleAboutBtn() { + System.out.println("About button pressed"); + } + + public void handleProfileBtn() { + System.out.println("profileSection"); + controller.showUserPage(); + } + + public void handleDonateToACauseBtn() { + System.out.println("Donate to a cause button pressed"); + controller.showBrowsePage(); + } + + public void handleRegisterBtn() { + System.out.println("Sign in button pressed"); + controller.showSignInPage(); + } + + public void handleDonateClick() { + controller.showDonationPage(); + } + + + public void handleAboutUsBtn() { + System.out.println("About us button pressed"); + controller.showAboutUsPage(); + } + + public void handleBrowseCardClick() { + controller.showDonationPage(); + } + + public void handleSignInBtn() { + System.out.println("Sign in button pressed"); + controller.showHomePage(); + } + public void handleLoginBtn() { + System.out.println("Back to login button pressed"); + controller.showLoginPage(); + } + + public void handleDonationBtn() { + System.out.println("Donating"); + controller.showPaymentCompletePage(); + } +} diff --git a/src/main/java/edu/group5/app/control/SignInPageController.java b/src/main/java/edu/group5/app/control/SignInPageController.java deleted file mode 100644 index a51e4d5..0000000 --- a/src/main/java/edu/group5/app/control/SignInPageController.java +++ /dev/null @@ -1,17 +0,0 @@ -package edu.group5.app.control; - -public class SignInPageController { - private final MainController controller; - - public SignInPageController(MainController controller) { - this.controller = controller; - } - public void handleSignInBtn() { - System.out.println("Sign in button pressed"); - controller.showHomePage(); - } - public void handleLoginBtn() { - System.out.println("Back to login button pressed"); - controller.showLoginPage(); - } -} diff --git a/src/main/java/edu/group5/app/control/donationpage/DonationPageController.java b/src/main/java/edu/group5/app/control/donationpage/DonationPageController.java deleted file mode 100644 index 248c4a1..0000000 --- a/src/main/java/edu/group5/app/control/donationpage/DonationPageController.java +++ /dev/null @@ -1,16 +0,0 @@ -package edu.group5.app.control.donationpage; - -import edu.group5.app.control.MainController; - -public class DonationPageController { - private final MainController controller; - - public DonationPageController(MainController controller) { - this.controller = controller; - } - public void handleDonationBtn() { - System.out.println("Donating"); - controller.showPaymentCompletePage(); - } - -} diff --git a/src/main/java/edu/group5/app/control/donationpage/PaymentCompleteController.java b/src/main/java/edu/group5/app/control/donationpage/PaymentCompleteController.java deleted file mode 100644 index d1bc3a5..0000000 --- a/src/main/java/edu/group5/app/control/donationpage/PaymentCompleteController.java +++ /dev/null @@ -1,15 +0,0 @@ -package edu.group5.app.control.donationpage; - -import edu.group5.app.control.MainController; - -public class PaymentCompleteController { - private final MainController controller; - - public PaymentCompleteController(MainController controller) { - this.controller = controller; - } - public void handleHomeBtn() { - System.out.println("Home button pressed"); - controller.showHomePage(); - } -} diff --git a/src/main/java/edu/group5/app/view/Header.java b/src/main/java/edu/group5/app/view/Header.java index 1edc5e4..4bc8284 100644 --- a/src/main/java/edu/group5/app/view/Header.java +++ b/src/main/java/edu/group5/app/view/Header.java @@ -1,6 +1,6 @@ package edu.group5.app.view; -import edu.group5.app.control.HeaderController; +import edu.group5.app.control.PageController; import javafx.geometry.Pos; import javafx.scene.control.Button; import javafx.scene.image.Image; @@ -8,9 +8,9 @@ import javafx.scene.layout.*; public class Header extends BorderPane { - private final HeaderController controller; + private final PageController controller; - public Header(HeaderController controller) { + public Header(PageController controller) { this.controller = controller; getStylesheets().add(getClass().getResource("/header/header.css").toExternalForm()); setId("header"); diff --git a/src/main/java/edu/group5/app/view/MainView.java b/src/main/java/edu/group5/app/view/MainView.java index 27eeac5..42999ff 100644 --- a/src/main/java/edu/group5/app/view/MainView.java +++ b/src/main/java/edu/group5/app/view/MainView.java @@ -1,6 +1,7 @@ package edu.group5.app.view; import edu.group5.app.control.*; +import edu.group5.app.model.organization.OrganizationRepository; import edu.group5.app.view.browsepage.BrowsePageView; import edu.group5.app.control.*; import edu.group5.app.control.donationpage.DonationPageController; @@ -16,60 +17,65 @@ import javafx.scene.Scene; import javafx.scene.layout.BorderPane; -public class MainView { - private final HeaderController headerController; - private final HomePageController homePageController; - private final LoginPageController loginPageController; - private final SignInPageController signInPageController; - private final DonationPageController donationPageController; - private final PaymentCompleteController paymentCompleteController; - private final Scene scene; - private final BorderPane root; +public class MainView extends BorderPane { + private final MainController controller; + private final HomePageView homePageView; + private final LoginPageView loginPageView; + private final SignInPageView signInPageView; + private final BrowsePageView browsePageView; + private final OrganizationPageView organizationPageView; + private final DonationPageView donationPageView; + private final PaymentCompletePageView paymentCompletePageView; + private final UserPageView userPageView; - public MainView(MainController mainController) { - this.headerController = new HeaderController(mainController); - this.homePageController = new HomePageController(mainController); - this.loginPageController = new LoginPageController(mainController); - this.signInPageController = new SignInPageController(mainController); - this.donationPageController = new DonationPageController(mainController); - this.paymentCompleteController = new PaymentCompleteController(mainController); - this.root = new BorderPane(); - this.scene = new Scene(root, 1280, 720); - } + public MainView(MainController controller) { + this.controller = controller; + Header header = new Header(controller.getPageController()); + this.homePageView = new HomePageView(); + this.loginPageView = new LoginPageView(); + this.signInPageView = new SignInPageView(); + this.browsePageView = new BrowsePageView(); + this.organizationPageView = new OrganizationPageView(); + this.donationPageView = new DonationPageView(); + this.paymentCompletePageView = new PaymentCompletePageView(); + this.userPageView = new UserPageView(); - public Scene getScene() { - return this.scene; - } + Scene root = new Scene(this, 1280, 720); + + setTop(header); - public Scene createView() { - root.setCenter(new LoginPageView(loginPageController)); - return new Scene(root, 1280, 720); +// this.headerController = new HeaderController(mainController); +// this.homePageController = new HomePageController(mainController); +// this.loginPageController = new LoginPageController(mainController); +// this.signInPageController = new SignInPageController(mainController); +// this.donationPageController = new DonationPageController(mainController); +// this.paymentCompleteController = new PaymentCompleteController(mainController); } - public void showHomePage(HomePageController homePageController, HeaderController headerController) { - root.setCenter(new HomePageView(homePageController, headerController)); + public void showHomePage() { + setCenter(this.homePageView); } public void showLoginPage() { - root.setCenter(new LoginPageView(loginPageController)); + setCenter(this.loginPageView); } - public void showBrowsePage(BrowsePageController browsePageController, BrowseCardController browseCardController, HeaderController headerController) { - root.setCenter(new BrowsePageView(getScene(), browsePageController, browseCardController, headerController)); + public void showBrowsePage() { + setCenter(this.browsePageView); } - public void showOrganizationPage(OrganizationPageController organizationController, HeaderController headerController) { - root.setCenter(new OrganizationPageView(organizationController, headerController)); + public void showOrganizationPage() { + setCenter(this.organizationPageView); } public void showSignInPage() { - root.setCenter(new SignInPageView(signInPageController)); + setCenter(this.signInPageView); } public void showDonationPage() { - root.setCenter(new DonationPageView(donationPageController, headerController)); + setCenter(this.donationPageView); } public void showPaymentCompletePage() { - root.setCenter(new PaymentCompletePageView(paymentCompleteController)); + setCenter(this.paymentCompletePageView); } public void showAboutUsPage() {} @@ -82,6 +88,6 @@ public void showUserPage() { "aurafarmer@gmail.com", "hashedpassword" ); - root.setCenter(new UserPageView(headerController, testCustomer)); + setCenter(this.userPageView); } } diff --git a/src/main/java/edu/group5/app/view/browsepage/BrowseCard.java b/src/main/java/edu/group5/app/view/browsepage/BrowseCard.java index 02cc094..5184614 100644 --- a/src/main/java/edu/group5/app/view/browsepage/BrowseCard.java +++ b/src/main/java/edu/group5/app/view/browsepage/BrowseCard.java @@ -1,6 +1,5 @@ package edu.group5.app.view.browsepage; -import edu.group5.app.control.BrowseCardController; import javafx.geometry.Pos; import javafx.scene.image.Image; import javafx.scene.image.ImageView; diff --git a/src/main/java/edu/group5/app/view/browsepage/BrowsePageView.java b/src/main/java/edu/group5/app/view/browsepage/BrowsePageView.java index 4cb54b2..5ecce7e 100644 --- a/src/main/java/edu/group5/app/view/browsepage/BrowsePageView.java +++ b/src/main/java/edu/group5/app/view/browsepage/BrowsePageView.java @@ -1,27 +1,18 @@ package edu.group5.app.view.browsepage; -import edu.group5.app.control.BrowseCardController; -import edu.group5.app.control.BrowsePageController; -import edu.group5.app.control.HeaderController; -import edu.group5.app.view.Header; import javafx.geometry.Pos; -import javafx.scene.Scene; import javafx.scene.control.ScrollPane; import javafx.scene.control.TextField; import javafx.scene.layout.*; public class BrowsePageView extends BorderPane { - private final Scene scene; private final BrowsePageController controller; - private final BrowseCardController orgController; + private final BrowseCardController browseCardController; - public BrowsePageView(Scene mainScene, BrowsePageController browsePageController, BrowseCardController browseCardController, HeaderController headerController) { - this.scene = mainScene; + public BrowsePageView(BrowsePageController browsePageController, BrowseCardController browseCardController) { this.controller = browsePageController; - this.orgController = browseCardController; + this.browseCardController = browseCardController; getStylesheets().add(getClass().getResource("/browsepage/browsepage.css").toExternalForm()); - Header headerView = new Header(headerController); - setTop(headerView); setCenter(createBody()); } @@ -57,7 +48,7 @@ private GridPane createOrganizationSection() { int column = 0; int row = 0; for (int i = 0; i < 16; i++) { - BrowseCard card = new BrowseCard(orgController, "/browsepage/images/children_of_shambala.png", "Shambala Foundation"); + BrowseCard card = new BrowseCard(browseCardController, "/browsepage/images/children_of_shambala.png", "Shambala Foundation"); GridPane.setFillWidth(card, true); grid.setAlignment(Pos.CENTER); diff --git a/src/main/java/edu/group5/app/view/donationpage/DonationPageView.java b/src/main/java/edu/group5/app/view/donationpage/DonationPageView.java index 5cf7171..49b0d7b 100644 --- a/src/main/java/edu/group5/app/view/donationpage/DonationPageView.java +++ b/src/main/java/edu/group5/app/view/donationpage/DonationPageView.java @@ -1,6 +1,5 @@ package edu.group5.app.view.donationpage; -import edu.group5.app.control.HeaderController; import edu.group5.app.control.donationpage.DonationPageController; import edu.group5.app.view.Header; import javafx.geometry.Insets; diff --git a/src/main/java/edu/group5/app/view/homepage/HomePageView.java b/src/main/java/edu/group5/app/view/homepage/HomePageView.java index 5510daa..e61c484 100644 --- a/src/main/java/edu/group5/app/view/homepage/HomePageView.java +++ b/src/main/java/edu/group5/app/view/homepage/HomePageView.java @@ -1,8 +1,6 @@ package edu.group5.app.view.homepage; -import edu.group5.app.control.HeaderController; -import edu.group5.app.control.HomePageController; -import edu.group5.app.view.Header; +import edu.group5.app.control.PageController; import javafx.geometry.Pos; import javafx.scene.control.Button; import javafx.scene.control.ScrollPane; @@ -12,13 +10,11 @@ import javafx.scene.text.Text; public class HomePageView extends BorderPane { - private final HomePageController controller; + private final PageController controller; - public HomePageView(HomePageController homePageController, HeaderController headerController) { - this.controller = homePageController; + public HomePageView(PageController controller) { + this.controller = controller; getStylesheets().add(getClass().getResource("/homepage/homepage.css").toExternalForm()); - Header headerView = new Header(headerController); - setTop(headerView); setCenter(createBody()); } diff --git a/src/main/java/edu/group5/app/view/loginpage/LoginHeader.java b/src/main/java/edu/group5/app/view/loginpage/LoginHeader.java index decd5a1..793edb9 100644 --- a/src/main/java/edu/group5/app/view/loginpage/LoginHeader.java +++ b/src/main/java/edu/group5/app/view/loginpage/LoginHeader.java @@ -1,6 +1,5 @@ package edu.group5.app.view.loginpage; -import edu.group5.app.control.HeaderController; import javafx.geometry.Pos; import javafx.scene.image.Image; import javafx.scene.image.ImageView; diff --git a/src/main/java/edu/group5/app/view/loginpage/LoginPageView.java b/src/main/java/edu/group5/app/view/loginpage/LoginPageView.java index d555301..b08423c 100644 --- a/src/main/java/edu/group5/app/view/loginpage/LoginPageView.java +++ b/src/main/java/edu/group5/app/view/loginpage/LoginPageView.java @@ -1,9 +1,6 @@ package edu.group5.app.view.loginpage; -import edu.group5.app.control.HeaderController; -import edu.group5.app.control.LoginPageController; -import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.control.Button; import javafx.scene.control.Label; diff --git a/src/main/java/edu/group5/app/view/loginpage/SignInPageView.java b/src/main/java/edu/group5/app/view/loginpage/SignInPageView.java index 1c5ddae..462a1a5 100644 --- a/src/main/java/edu/group5/app/view/loginpage/SignInPageView.java +++ b/src/main/java/edu/group5/app/view/loginpage/SignInPageView.java @@ -1,7 +1,5 @@ package edu.group5.app.view.loginpage; -import edu.group5.app.control.HeaderController; -import edu.group5.app.control.SignInPageController; import javafx.geometry.Pos; import javafx.scene.control.Button; import javafx.scene.control.Label; diff --git a/src/main/java/edu/group5/app/view/organizationpage/OrganizationPageView.java b/src/main/java/edu/group5/app/view/organizationpage/OrganizationPageView.java index 4155ccd..ca0d8e6 100644 --- a/src/main/java/edu/group5/app/view/organizationpage/OrganizationPageView.java +++ b/src/main/java/edu/group5/app/view/organizationpage/OrganizationPageView.java @@ -1,7 +1,5 @@ package edu.group5.app.view.organizationpage; -import edu.group5.app.control.HeaderController; -import edu.group5.app.control.OrganizationPageController; import edu.group5.app.view.Header; import javafx.geometry.Pos; import javafx.scene.control.Button; diff --git a/src/main/java/edu/group5/app/view/userpage/UserPageView.java b/src/main/java/edu/group5/app/view/userpage/UserPageView.java index 547b812..152c281 100644 --- a/src/main/java/edu/group5/app/view/userpage/UserPageView.java +++ b/src/main/java/edu/group5/app/view/userpage/UserPageView.java @@ -1,6 +1,5 @@ package edu.group5.app.view.userpage; -import edu.group5.app.control.HeaderController; import edu.group5.app.model.user.Customer; import edu.group5.app.view.Header; import javafx.geometry.Insets;