@Override public void actionPerformed(ActionEvent arg0) { BoundaryAuthenticationDialog authenticationDialog = new BoundaryAuthenticationDialog(frame); authenticationDialog.setVisible(true); // Get results from login dialog if (authenticationDialog.isSucceeded()) { // If successfully logged in boolean isTenant = Session.getSessionInstance().isTenant(); boolean isLandLord = Session.getSessionInstance().isLandLord(); if (isLandLord) { // User authenticated as landlord if (!isTenant) { // LandLord, not Tenant if (confirmRegTenantMessage() == JOptionPane.YES_OPTION) { // Register as Tenant LandLord landLord = (LandLord) Session.getSessionInstance().getCustomer(); try { Save.getInstance().deleteUser(landLord.getEmail()); landLord.setTenant(true); Save.getInstance().insertCustomer(landLord); successfulRegistrationMessage(); } catch (ClassNotFoundException | IOException e) { fileReadErrorMessage(); } catch (AlreadyRegisteredException e) { alreadyRegisteredMessage(); } catch (FileException e) { fileReadErrorMessage(); } catch (UserNotFoundException e) { userNotFoundMessage(); } } } else { // LandLord and Tenant // Cannot register errorMessage(); } } else { if (isTenant) { // User authenticated as tenant if (confirmRegLandLordMessage() == JOptionPane.YES_OPTION) { // Register as Tenant BoundaryIbanDialog ibanDialog = new BoundaryIbanDialog(frame); ibanDialog.setVisible(true); } } else { // Administrator or scout or others errorMessage(); } } } }
@Override public void actionPerformed(ActionEvent e) { BoundaryLoginDialog loginDialog = new BoundaryLoginDialog(frame); loginDialog.setVisible(true); // Get results from login dialog if (loginDialog.isSucceeded()) { // If successfully logged in boolean isTenant = Session.getSessionInstance().isTenant(); boolean isLandLord = Session.getSessionInstance().isLandLord(); boolean isAdministrator = Session.getSessionInstance().isAdministrator(); boolean isScout = Session.getSessionInstance().isScout(); if (isLandLord) { // User authenticated as landlord BoundaryLandLordDialog landDialog = new BoundaryLandLordDialog(frame); landDialog.setVisible(true); // Logout when user exit dialog Session.getSessionInstance().logout(); } else { if (isTenant) { // User authenticated as tenant BoundaryTenantDialog tenantDialog = new BoundaryTenantDialog(frame); tenantDialog.setVisible(true); // Logout when user exit dialog Session.getSessionInstance().logout(); } else if (isAdministrator) { // User authenticated as administrator BoundaryAdministratorDialog adminDialog = new BoundaryAdministratorDialog(frame); adminDialog.setVisible(true); // Logout when user exit dialog Session.getSessionInstance().logout(); } else if (isScout) { // User authenticated as scout BoundaryScoutDialog scoutDialog; do { scoutDialog = new BoundaryScoutDialog(frame); scoutDialog.setVisible(true); } while (scoutDialog.isReloadDialog()); // Logout when user exit dialog Session.getSessionInstance().logout(); } } } }