Search in sources :

Example 1 with CustomerDiConfigurator

use of CustomerDI.CustomerDiConfigurator in project SmartCity-Market by TechnionYP5777.

the class CustomerApplicationScreen method start.

@Override
public void start(Stage primaryStage) {
    try {
        stage = primaryStage;
        InjectionFactory.createInjector(new CustomerDiConfigurator());
        barcodeEventHandler = InjectionFactory.getInstance(BarcodeEventHandler.class);
        barcodeEventHandler.initializeHandler();
        barcodeEventHandler.startListening();
        setScene("/CustomerWelcomeScreen/CustomerWelcomeScreen.fxml");
        stage.setTitle("Smart Market Beta");
        stage.setMaximized(true);
        stage.setOnCloseRequest(event -> {
            try {
                ICustomer customer = InjectionFactory.getInstance(Customer.class);
                customer.logout();
                Platform.exit();
                System.exit(0);
            } catch (SMException e) {
                log.fatal(e);
                log.debug(StackTraceUtil.getStackTrace(e));
                e.showInfoToUser();
                Platform.exit();
                System.exit(0);
            }
        });
        stage.show();
    } catch (Exception ยข) {
        throw new RuntimeException();
    }
}
Also used : BarcodeEventHandler(UtilsImplementations.BarcodeEventHandler) CustomerDiConfigurator(CustomerDI.CustomerDiConfigurator) ICustomer(CustomerContracts.ICustomer) SMException(SMExceptions.SMException) SMException(SMExceptions.SMException)

Aggregations

ICustomer (CustomerContracts.ICustomer)1 CustomerDiConfigurator (CustomerDI.CustomerDiConfigurator)1 SMException (SMExceptions.SMException)1 BarcodeEventHandler (UtilsImplementations.BarcodeEventHandler)1