/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package controller.terminal.controller; import controller.terminal.interfacesGUI.TerminalMainVue; import java.sql.SQLException; import java.util.List; import java.util.logging.Level; import javax.swing.JOptionPane; import model.database.TerminalMapper; import model.object.Terminal; import resource.log.ProjectLogger; /** * * @author Valentin SEITZ */ public class TerminalController { private static TerminalMainVue mainVue; private static boolean doAutoCancel; private static boolean doAlertBeforeAutoCancel; public TerminalController(TerminalMainVue mainVue) { setMainVue(mainVue); ProcessedData.setTerminal(getTerminalId()); mainVue.displayTerminalWelcome(); } private static void setMainVue(TerminalMainVue mainVue) { TerminalController.mainVue = mainVue; } public static TerminalMainVue getMainVue() { return TerminalController.mainVue; } public static void setDoAutoCancel(boolean doAutoCancel) { TerminalController.doAutoCancel = doAutoCancel; } public static boolean isDoAutoCancel() { return doAutoCancel; } public static void setDoAlertBeforeAutoCancel(boolean doAlertBeforeAutoCancel) { TerminalController.doAlertBeforeAutoCancel = doAlertBeforeAutoCancel; } public static boolean isDoAlertBeforeAutoCancel() { return doAlertBeforeAutoCancel; } public static void doCancel() { VueStateMachine.doAction(VueStateMachine.ACTION_DO_CANCEL); } public static void doExit() { doCancel(); System.exit(0); } private static int getTerminalId() { int terminalId; TerminalMapper terminalMapper; List<Terminal> terminals; Integer[] possibilities = null; terminalMapper = new TerminalMapper(); try { terminals = terminalMapper.getAllTerminals(); possibilities = new Integer[terminals.size()]; for (int i = 0; i < terminals.size(); i++) { possibilities[i] = new Integer(terminals.get(i).getId()); } } catch (SQLException | ClassNotFoundException ex) { ProjectLogger.log(TerminalController.class, Level.SEVERE, ex.getMessage(), ex); } if (possibilities != null && possibilities.length > 0) { if (possibilities.length == 1) { terminalId = possibilities[0]; } else { Integer i = (Integer) JOptionPane.showInputDialog( null, "Borne pour quel terminal?", "Choix de terminal", JOptionPane.PLAIN_MESSAGE, null, possibilities, possibilities[0]); if (i != null) { terminalId = i.intValue(); } else { terminalId = 0; doExit(); } } } else { terminalId = 0; } return terminalId; } }