public void start() throws Exception { int menuOption = 1; while (menuOption != 2) { inputOutput.printLogInQuit(); menuOption = inputOutput.readInputFromConsole(); switch (menuOption) { case 1: inputOutput.printEnterLoginId(); User whoIsLogin = login.logIn(inputOutput.readStringFromConsole(), inputOutput.readPassword()); if (whoIsLogin.getRoll().equals("user")) { while (menuOption != 8) { inputOutput.printMenuOnConsoleForUser(); inputOutput.printEnterYourChoice(); menuOption = inputOutput.readInputFromConsole(); dispatcherForOption(inputOutput, library, menuOption, whoIsLogin); } } else if (whoIsLogin.getRoll().equals("librarian")) { while (menuOption != 8) { inputOutput.printMenuOnConsoleForAdmin(); inputOutput.printEnterYourChoice(); menuOption = inputOutput.readInputFromConsole(); dispatcherForOption(inputOutput, library, menuOption, whoIsLogin); } } else { inputOutput.printValidationProblem(); } break; case 2: System.exit(0); default: inputOutput.printInvalidOptionMessage(); } } }