/** Test network connectivity. */ public class MainWindow extends JFrame implements ActionListener { private static final long serialVersionUID = 1L; private static final Dimension WINDOW_DIMENSIONS = new Dimension(650, 550); private static final Color WINDOW_BACKGROUND_COLOR = SystemColor.control; private static final Font WINDOW_FONT_PLAIN = new Font("Arial", Font.PLAIN, 12); // @jve:decl-index=0: private static final Font WINDOW_FONT_BOLD = new Font("Arial", Font.BOLD, 12); private static final String WINDOW_TITLE = AppResourceBundleUtil.getString("tsutility.mainWindow.title"); private static final String INTRODUCTION = AppResourceBundleUtil.getString("tsutility.mainWindow.introduction"); private static final String BUTTON_START = AppResourceBundleUtil.getString("tsutility.mainWindow.buttons.start"); private static final String BUTTON_STOP = AppResourceBundleUtil.getString("tsutility.mainWindow.buttons.stop"); private static final String BUTTON_SAVE = AppResourceBundleUtil.getString("tsutility.mainWindow.buttons.save"); // @jve:decl-index=0: private static final String BUTTON_EXIT = AppResourceBundleUtil.getString("tsutility.mainWindow.buttons.exit"); private static final String TASKS_GROUPING = AppResourceBundleUtil.getString( "tsutility.mainWindow.question.grouping"); // @jve:decl-index=0: private static final String TASK_QUESTION1 = AppResourceBundleUtil.getString( "tsutility.mainWindow.question.oasAvailable"); // @jve:decl-index=0: private static final String TASK_QUESTION2 = AppResourceBundleUtil.getString( "tsutility.mainWindow.question.oasdeliveryAvailable"); // @jve:decl-index=0: private static final String TASK_QUESTION3 = AppResourceBundleUtil.getString( "tsutility.mainWindow.question.dynamicPagesNotCached"); // @jve:decl-index=0: private static final String TASK_QUESTION4 = AppResourceBundleUtil.getString( "tsutility.mainWindow.question.downloadContent"); // @jve:decl-index=0: private static final String TASK_RESULT_PASS = AppResourceBundleUtil.getString("tsutility.mainWindow.result.pass"); // @jve:decl-index=0: private static final String TASK_RESULT_FAIL = AppResourceBundleUtil.getString("tsutility.mainWindow.result.fail"); private static final String TASK_RESULT_UNATTEMPTED = AppResourceBundleUtil.getString("tsutility.mainWindow.result.unattempted"); private static final String TASK_RESULT_FAIL_DOWNLOAD = AppResourceBundleUtil.getString("tsutility.mainWindow.result.download.failed"); private static final String DOWNLOAD_MINUTES = AppResourceBundleUtil.getString( "tsutility.mainWindow.result.download.minutes"); // @jve:decl-index=0: private static final String DOWNLOAD_MINUTE = AppResourceBundleUtil.getString("tsutility.mainWindow.result.download.minute"); private static final String DOWNLOAD_SECONDS = AppResourceBundleUtil.getString( "tsutility.mainWindow.result.download.seconds"); // @jve:decl-index=0: private static final String DOWNLOAD_SECOND = AppResourceBundleUtil.getString("tsutility.mainWindow.result.download.second"); private static final String DETAILS_GROUPING = AppResourceBundleUtil.getString( "tsutility.mainWindow.details.grouping"); // @jve:decl-index=0: private static final String DETAILS_DONE = AppResourceBundleUtil.getString("tsutility.mainWindow.details.done"); // @jve:decl-index=0: private static final String MODULE_NETWORK_TAB = AppResourceBundleUtil.getString("tsutility.mainWindow.module.networkTab"); private static final String MODULE_BANDWIDTH_TAB = AppResourceBundleUtil.getString("tsutility.mainWindow.module.bandwidthTab"); private static final String MODULE_SPEECH_TAB = AppResourceBundleUtil.getString("tsutility.mainWindow.module.SpeechTab"); private static final String ACTION_EXIT = "exit"; private static final String ACTION_SWITCH_TO_NETWORK = "switchToNetwork"; private static final String ACTION_SWITCH_TO_BANDWIDTH = "switchToBandwidth"; private static final String ACTION_SWITCH_TO_SPEECH = "switchToSpeech"; private static final String ACTION_START = "start"; private static final String ACTION_STOP = "stop"; private static final String ACTION_SAVE = "save"; private static final String ACTION_INTERRUPTED = "interrupted"; // @jve:decl-index=0: private static final String ACTION_COMPLETE = "completed"; private NetworkAnalyzer networkTroubleshooter = null; // @jve:decl-index=0: private FileDialog fileSaveDialog = null; private JPanel scaffoldPanel = null; private JPanel headerPanel = null; private JPanel contentPanel = null; private JPanel introductionPanel = null; private JLabel introductionLabel = null; private JPanel taskListPanel = null; private JPanel taskDetailPanel = null; private JTextArea taskDetailTextArea = null; private JPanel buttonsPanel = null; private JButton runButton = null; private JButton saveButton = null; private JButton exitButton = null; private JButton switchNetworkButton = null; private JButton switchBandwidthButton = null; private JButton switchSpeechButton = null; private JLabel questionLabel1 = null; private JLabel questionLabel2 = null; private JLabel questionLabel3 = null; private JLabel questionLabel4 = null; private JPanel resultPanel1 = null; private JPanel resultInitialPanel1 = null; private JPanel resultPassPanel1 = null; private JLabel resultPassIconLabel1 = null; private JPanel resultFailPanel1 = null; private JLabel resultFailIconLabel1 = null; private JPanel resultUnattemptedPanel1 = null; private JLabel resultUnattemptedLabel1 = null; private JPanel resultPanel2 = null; private JPanel resultInitialPanel2 = null; private JPanel resultPassPanel2 = null; private JPanel resultFailPanel2 = null; private JPanel resultUnattemptedPanel2 = null; private JLabel resultPassIconLabel2 = null; private JLabel resultFailIconLabel2 = null; private JLabel resultUnattemptedLabel2 = null; private JPanel resultPanel3 = null; private JPanel resultInitialPanel3 = null; private JPanel resultPassPanel3 = null; private JPanel resultFailPanel3 = null; private JPanel resultUnattemptedPanel3 = null; private JLabel resultPassIconLabel3 = null; private JLabel resultFailIconLabel3 = null; private JLabel resultUnattemptedLabel3 = null; private JPanel resultPanel4 = null; private JPanel resultInitialPanel4 = null; private JPanel resultPassPanel4 = null; private JPanel resultFailPanel4 = null; private JPanel resultUnattemptedPanel4 = null; private JLabel resultPassLabel4 = null; private JLabel resultUnattemptedLabel4 = null; private JLabel resultFailIconLabel4 = null; private JPanel resultProgressPanel4 = null; private JProgressBar resultProgressBar4 = null; private JFrame networkWindow = null; private JFrame bandwidthWindow = null; private JFrame speechWindow = null; // -------------------------------------------------------------------------- public MainWindow() throws HeadlessException { super(); initialize(); } public MainWindow(GraphicsConfiguration gc) { super(gc); initialize(); } public MainWindow(String title) throws HeadlessException { super(title); initialize(); } public MainWindow(String title, GraphicsConfiguration gc) { super(title, gc); initialize(); } /** * This method initializes this * * @return void */ private void initialize() { ImageIcon iconImage = new ImageIcon(MainWindow.class.getResource("images/icon.gif")); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.fileSaveDialog = new FileDialog(this, "Save", FileDialog.SAVE); this.fileSaveDialog.setFilenameFilter(new TextFilenameFilter()); this.setContentPane(getScaffoldPanel()); this.setIconImage(iconImage.getImage()); this.setResizable(false); this.setTitle(WINDOW_TITLE); this.setSize(WINDOW_DIMENSIONS); this.setLocation( (int) (screenSize.getWidth() / 2 - this.getWidth() / 2), (int) (screenSize.getHeight() / 2 - this.getHeight() / 2)); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void setFrames(JFrame networkWindow, JFrame bandwidthWindow, JFrame speechWindow) { this.networkWindow = networkWindow; this.bandwidthWindow = bandwidthWindow; this.speechWindow = speechWindow; } public void switchFrame(JFrame activeWindow) { Point point = this.getLocation(); this.networkWindow.setVisible(false); this.bandwidthWindow.setVisible(false); this.speechWindow.setVisible(false); if (activeWindow == this.networkWindow) { ((MainWindow) this.networkWindow).activateWindow(point); } if (activeWindow == this.bandwidthWindow) { ((BandwidthMainWindow) this.bandwidthWindow).activateWindow(point); } if (activeWindow == this.speechWindow) { ((SpeechMainWindow) this.speechWindow).activateWindow(point); } } public void activateWindow(Point point) { this.setLocation(point); this.setVisible(true); getSwitchNetworkButton().setEnabled(false); getSwitchNetworkButton().setFont(WINDOW_FONT_BOLD); // getSwitchNetworkButton().setBackground(new Color(255, 255, 153)); // RGB = FFFF99 getSwitchBandwidthButton().setEnabled(true); getSwitchSpeechButton().setEnabled(true); } /** * This method initializes scaffoldPanel * * @return javax.swing.JPanel */ private JPanel getScaffoldPanel() { if (scaffoldPanel == null) { scaffoldPanel = new JPanel(); scaffoldPanel.setLayout(new BorderLayout()); scaffoldPanel.add(getHeaderPanel(), BorderLayout.NORTH); scaffoldPanel.add(getContentPanel(), BorderLayout.CENTER); scaffoldPanel.add(getButtonsPanel(), BorderLayout.SOUTH); } return scaffoldPanel; } /** * This method initializes headerPanel * * @return javax.swing.JPanel */ private JPanel getHeaderPanel() { if (headerPanel == null) { ImageIcon headerIcon = new ImageIcon(MainWindow.class.getResource("images/header.gif")); JLabel headerImageLabel = new JLabel(); headerImageLabel.setIcon(headerIcon); headerPanel = new JPanel(); headerPanel.setLayout(new BorderLayout()); headerPanel.setBackground(Color.white); headerPanel.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED)); headerPanel.add(headerImageLabel, BorderLayout.NORTH); headerPanel.add(getSwitchNetworkButton(), BorderLayout.WEST); headerPanel.add(getSwitchBandwidthButton(), BorderLayout.CENTER); headerPanel.add(getSwitchSpeechButton(), BorderLayout.EAST); } return headerPanel; } /** * This method initializes contentPanel * * @return javax.swing.JPanel */ private JPanel getContentPanel() { if (contentPanel == null) { BorderLayout borderLayout = new BorderLayout(); borderLayout.setVgap(10); contentPanel = new JPanel(); contentPanel.setLayout(borderLayout); contentPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); contentPanel.setBackground(WINDOW_BACKGROUND_COLOR); contentPanel.add(getIntroductionPanel(), BorderLayout.NORTH); contentPanel.add(getTaskListPanel(), BorderLayout.CENTER); contentPanel.add(getTaskDetailPanel(), BorderLayout.SOUTH); } return contentPanel; } /** * This method initializes introductionPanel * * @return javax.swing.JPanel */ private JPanel getIntroductionPanel() { if (introductionPanel == null) { BorderLayout borderLayout2 = new BorderLayout(); borderLayout2.setHgap(0); borderLayout2.setVgap(0); introductionLabel = new JLabel(); introductionLabel.setVerticalAlignment(SwingConstants.TOP); introductionLabel.setFont(WINDOW_FONT_PLAIN); introductionLabel.setBackground(WINDOW_BACKGROUND_COLOR); introductionLabel.setText(INTRODUCTION); introductionPanel = new JPanel(); introductionPanel.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 10, 0, 10)); introductionPanel.setLayout(borderLayout2); introductionPanel.setBackground(WINDOW_BACKGROUND_COLOR); introductionPanel.add(introductionLabel, BorderLayout.CENTER); } return introductionPanel; } /** * This method initializes taskDetailPanel * * @return javax.swing.JPanel */ private JPanel getTaskDetailPanel() { if (taskDetailPanel == null) { BorderLayout borderLayout1 = new BorderLayout(); borderLayout1.setHgap(5); borderLayout1.setVgap(5); taskDetailPanel = new JPanel(); taskDetailPanel.setLayout(borderLayout1); taskDetailPanel.setBorder( BorderFactory.createCompoundBorder( BorderFactory.createTitledBorder( BorderFactory.createLineBorder(SystemColor.controlDkShadow, 1), DETAILS_GROUPING, TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, new Font("Dialog", Font.BOLD, 12), SystemColor.controlDkShadow), BorderFactory.createEmptyBorder(5, 5, 5, 5))); taskDetailPanel.setBackground(WINDOW_BACKGROUND_COLOR); taskDetailPanel.add(getTaskDetailTextArea(), BorderLayout.NORTH); } return taskDetailPanel; } /** * This method initializes taskDetailTextArea * * @return javax.swing.JTextArea */ private JTextArea getTaskDetailTextArea() { if (taskDetailTextArea == null) { taskDetailTextArea = new JTextArea(); taskDetailTextArea.setRows(3); taskDetailTextArea.setLineWrap(true); taskDetailTextArea.setWrapStyleWord(true); taskDetailTextArea.setFont(WINDOW_FONT_PLAIN); taskDetailTextArea.setBackground(WINDOW_BACKGROUND_COLOR); taskDetailTextArea.setEditable(false); } return taskDetailTextArea; } /** * This method initializes buttonsPanel * * @return javax.swing.JPanel */ private JPanel getButtonsPanel() { if (buttonsPanel == null) { buttonsPanel = new JPanel(); buttonsPanel.setLayout(new FlowLayout(FlowLayout.RIGHT)); buttonsPanel.setBackground(WINDOW_BACKGROUND_COLOR); buttonsPanel.add(getRunButton(), null); buttonsPanel.add(getSaveButton(), null); buttonsPanel.add(getExitButton(), null); } return buttonsPanel; } /** * This method initializes runButton * * @return javax.swing.JButton */ private JButton getRunButton() { if (runButton == null) { runButton = new JButton(BUTTON_START); runButton.setFont(WINDOW_FONT_PLAIN); runButton.setActionCommand(ACTION_START); runButton.addActionListener(this); } return runButton; } /** * This method initializes saveButton * * @return javax.swing.JButton */ private JButton getSaveButton() { if (saveButton == null) { saveButton = new JButton(BUTTON_SAVE); saveButton.setFont(WINDOW_FONT_PLAIN); saveButton.setActionCommand(ACTION_SAVE); saveButton.setEnabled(false); saveButton.addActionListener(this); } return saveButton; } /** * This method initializes exitButton * * @return javax.swing.JButton */ private JButton getExitButton() { if (exitButton == null) { exitButton = new JButton(BUTTON_EXIT); exitButton.setFont(WINDOW_FONT_PLAIN); exitButton.setActionCommand(ACTION_EXIT); exitButton.addActionListener(this); } return exitButton; } private JButton getSwitchNetworkButton() { if (switchNetworkButton == null) { switchNetworkButton = new JButton(" " + MODULE_NETWORK_TAB + " "); switchNetworkButton.setFont(WINDOW_FONT_PLAIN); switchNetworkButton.setActionCommand(ACTION_SWITCH_TO_NETWORK); switchNetworkButton.addActionListener(this); } return switchNetworkButton; } private JButton getSwitchBandwidthButton() { if (switchBandwidthButton == null) { switchBandwidthButton = new JButton(MODULE_BANDWIDTH_TAB); switchBandwidthButton.setFont(WINDOW_FONT_PLAIN); switchBandwidthButton.setActionCommand(ACTION_SWITCH_TO_BANDWIDTH); switchBandwidthButton.addActionListener(this); } return switchBandwidthButton; } private JButton getSwitchSpeechButton() { if (switchSpeechButton == null) { switchSpeechButton = new JButton(" " + MODULE_SPEECH_TAB + " "); switchSpeechButton.setFont(WINDOW_FONT_PLAIN); switchSpeechButton.setActionCommand(ACTION_SWITCH_TO_SPEECH); switchSpeechButton.addActionListener(this); } return switchSpeechButton; } // -------------------------------------------------------------------------- /** * This method initializes taskListPanel * * @return javax.swing.JPanel */ private JPanel getTaskListPanel() { if (taskListPanel == null) { GridBagConstraints gridBagConstraints3 = new GridBagConstraints(); gridBagConstraints3.gridx = 1; gridBagConstraints3.insets = new Insets(5, 5, 5, 5); gridBagConstraints3.anchor = GridBagConstraints.WEST; gridBagConstraints3.gridy = 3; GridBagConstraints gridBagConstraints2 = new GridBagConstraints(); gridBagConstraints2.gridx = 1; gridBagConstraints2.anchor = GridBagConstraints.WEST; gridBagConstraints2.insets = new Insets(5, 5, 5, 5); gridBagConstraints2.gridy = 2; GridBagConstraints gridBagConstraints1 = new GridBagConstraints(); gridBagConstraints1.gridx = 1; gridBagConstraints1.anchor = GridBagConstraints.WEST; gridBagConstraints1.insets = new Insets(5, 5, 5, 5); gridBagConstraints1.gridy = 1; GridBagConstraints gridBagConstraints = new GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.anchor = GridBagConstraints.WEST; gridBagConstraints.insets = new Insets(5, 5, 5, 5); gridBagConstraints.gridy = 0; GridBagConstraints gbc4 = new GridBagConstraints(); gbc4.gridx = 0; gbc4.anchor = GridBagConstraints.WEST; gbc4.insets = new Insets(5, 5, 5, 5); gbc4.fill = GridBagConstraints.HORIZONTAL; gbc4.weightx = 1.0D; gbc4.gridy = 3; questionLabel4 = new JLabel(); questionLabel4.setText(TASK_QUESTION4); questionLabel4.setFont(WINDOW_FONT_PLAIN); GridBagConstraints gbc3 = new GridBagConstraints(); gbc3.gridx = 0; gbc3.insets = new Insets(5, 5, 5, 5); gbc3.anchor = GridBagConstraints.WEST; gbc3.fill = GridBagConstraints.HORIZONTAL; gbc3.weightx = 1.0D; gbc3.gridy = 2; questionLabel3 = new JLabel(); questionLabel3.setText(TASK_QUESTION3); questionLabel3.setFont(WINDOW_FONT_PLAIN); GridBagConstraints gbc2 = new GridBagConstraints(); gbc2.gridx = 0; gbc2.anchor = GridBagConstraints.WEST; gbc2.insets = new Insets(5, 5, 5, 5); gbc2.fill = GridBagConstraints.HORIZONTAL; gbc2.weightx = 1.0D; gbc2.gridy = 1; questionLabel2 = new JLabel(); questionLabel2.setText(TASK_QUESTION2); questionLabel2.setFont(WINDOW_FONT_PLAIN); GridBagConstraints gbc1 = new GridBagConstraints(); gbc1.gridx = 0; gbc1.anchor = GridBagConstraints.WEST; gbc1.insets = new Insets(5, 5, 5, 5); gbc1.fill = GridBagConstraints.HORIZONTAL; gbc1.gridwidth = 1; gbc1.weightx = 1.0D; gbc1.gridy = 0; questionLabel1 = new JLabel(); questionLabel1.setText(TASK_QUESTION1); questionLabel1.setFont(WINDOW_FONT_PLAIN); taskListPanel = new JPanel(); taskListPanel.setLayout(new GridBagLayout()); taskListPanel.setBorder( BorderFactory.createTitledBorder( BorderFactory.createLineBorder(SystemColor.controlDkShadow, 1), TASKS_GROUPING, TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, new Font("Dialog", Font.BOLD, 12), SystemColor.controlDkShadow)); taskListPanel.setBackground(SystemColor.control); taskListPanel.add(questionLabel1, gbc1); taskListPanel.add(questionLabel2, gbc2); taskListPanel.add(questionLabel3, gbc3); taskListPanel.add(questionLabel4, gbc4); taskListPanel.add(getResultPanel1(), gridBagConstraints); taskListPanel.add(getResultPanel2(), gridBagConstraints1); taskListPanel.add(getResultPanel3(), gridBagConstraints2); taskListPanel.add(getResultPanel4(), gridBagConstraints3); } return taskListPanel; } // -------------------------------------------------------------------------- /** * This method initializes resultPanel1 * * @return javax.swing.JPanel */ private JPanel getResultPanel1() { if (resultPanel1 == null) { resultPanel1 = new JPanel(); resultPanel1.setLayout(new CardLayout()); resultPanel1.add(getResultInitialPanel1(), getResultInitialPanel1().getName()); resultPanel1.add(getResultPassPanel1(), getResultPassPanel1().getName()); resultPanel1.add(getResultFailPanel1(), getResultFailPanel1().getName()); resultPanel1.add(getResultUnattemptedPanel1(), getResultUnattemptedPanel1().getName()); } return resultPanel1; } /** * This method initializes resultInitialPanel1 * * @return javax.swing.JPanel */ private JPanel getResultInitialPanel1() { if (resultInitialPanel1 == null) { FlowLayout flowLayout = new FlowLayout(); flowLayout.setAlignment(FlowLayout.LEFT); resultInitialPanel1 = new JPanel(); resultInitialPanel1.setLayout(flowLayout); resultInitialPanel1.setName("resultInitialPanel1"); resultInitialPanel1.setBackground(WINDOW_BACKGROUND_COLOR); } return resultInitialPanel1; } /** * This method initializes resultPassPanel1 * * @return javax.swing.JPanel */ private JPanel getResultPassPanel1() { if (resultPassPanel1 == null) { resultPassIconLabel1 = new JLabel(); resultPassIconLabel1.setFont(WINDOW_FONT_BOLD); resultPassIconLabel1.setText(TASK_RESULT_PASS); resultPassIconLabel1.setIcon(new ImageIcon(getClass().getResource("images/pass.gif"))); FlowLayout flowLayout = new FlowLayout(); flowLayout.setAlignment(FlowLayout.LEFT); resultPassPanel1 = new JPanel(); resultPassPanel1.setLayout(flowLayout); resultPassPanel1.setName("resultPassPanel1"); resultPassPanel1.setBackground(WINDOW_BACKGROUND_COLOR); resultPassPanel1.add(resultPassIconLabel1, null); } return resultPassPanel1; } /** * This method initializes resultFailPanel1 * * @return javax.swing.JPanel */ private JPanel getResultFailPanel1() { if (resultFailPanel1 == null) { resultFailIconLabel1 = new JLabel(); resultFailIconLabel1.setFont(WINDOW_FONT_BOLD); resultFailIconLabel1.setText(TASK_RESULT_FAIL); resultFailIconLabel1.setIcon(new ImageIcon(getClass().getResource("images/fail.gif"))); FlowLayout flowLayout = new FlowLayout(); flowLayout.setAlignment(FlowLayout.LEFT); resultFailPanel1 = new JPanel(); resultFailPanel1.setLayout(flowLayout); resultFailPanel1.setName("resultFailPanel1"); resultFailPanel1.setBackground(WINDOW_BACKGROUND_COLOR); resultFailPanel1.add(resultFailIconLabel1, null); } return resultFailPanel1; } /** * This method initializes resultUnattemptedPanel1 * * @return javax.swing.JPanel */ private JPanel getResultUnattemptedPanel1() { if (resultUnattemptedPanel1 == null) { resultUnattemptedLabel1 = new JLabel(); resultUnattemptedLabel1.setFont(WINDOW_FONT_BOLD); resultUnattemptedLabel1.setText(TASK_RESULT_UNATTEMPTED); FlowLayout flowLayout = new FlowLayout(); flowLayout.setAlignment(FlowLayout.LEFT); resultUnattemptedPanel1 = new JPanel(); resultUnattemptedPanel1.setLayout(flowLayout); resultUnattemptedPanel1.setName("resultUnattemptedPanel1"); resultUnattemptedPanel1.setBackground(WINDOW_BACKGROUND_COLOR); resultUnattemptedPanel1.add(resultUnattemptedLabel1, null); } return resultUnattemptedPanel1; } /** * This method initializes resultPanel2 * * @return javax.swing.JPanel */ private JPanel getResultPanel2() { if (resultPanel2 == null) { resultPanel2 = new JPanel(); resultPanel2.setLayout(new CardLayout()); resultPanel2.add(getResultInitialPanel2(), getResultInitialPanel2().getName()); resultPanel2.add(getResultPassPanel2(), getResultPassPanel2().getName()); resultPanel2.add(getResultFailPanel2(), getResultFailPanel2().getName()); resultPanel2.add(getResultUnattemptedPanel2(), getResultUnattemptedPanel2().getName()); } return resultPanel2; } /** * This method initializes resultInitialPanel2 * * @return javax.swing.JPanel */ private JPanel getResultInitialPanel2() { if (resultInitialPanel2 == null) { FlowLayout flowLayout = new FlowLayout(); flowLayout.setAlignment(FlowLayout.LEFT); resultInitialPanel2 = new JPanel(); resultInitialPanel2.setLayout(flowLayout); resultInitialPanel2.setName("resultInitialPanel2"); resultInitialPanel2.setBackground(WINDOW_BACKGROUND_COLOR); } return resultInitialPanel2; } /** * This method initializes resultPassPanel2 * * @return javax.swing.JPanel */ private JPanel getResultPassPanel2() { if (resultPassPanel2 == null) { resultPassIconLabel2 = new JLabel(); resultPassIconLabel2.setIcon(new ImageIcon(getClass().getResource("images/pass.gif"))); resultPassIconLabel2.setFont(WINDOW_FONT_BOLD); resultPassIconLabel2.setText(TASK_RESULT_PASS); FlowLayout flowLayout = new FlowLayout(); flowLayout.setAlignment(FlowLayout.LEFT); resultPassPanel2 = new JPanel(); resultPassPanel2.setLayout(flowLayout); resultPassPanel2.setName("resultPassPanel2"); resultPassPanel2.setBackground(WINDOW_BACKGROUND_COLOR); resultPassPanel2.add(resultPassIconLabel2, null); } return resultPassPanel2; } /** * This method initializes resultFailPanel2 * * @return javax.swing.JPanel */ private JPanel getResultFailPanel2() { if (resultFailPanel2 == null) { resultFailIconLabel2 = new JLabel(); resultFailIconLabel2.setIcon(new ImageIcon(getClass().getResource("images/fail.gif"))); resultFailIconLabel2.setFont(WINDOW_FONT_BOLD); resultFailIconLabel2.setText(TASK_RESULT_FAIL); FlowLayout flowLayout = new FlowLayout(); flowLayout.setAlignment(FlowLayout.LEFT); resultFailPanel2 = new JPanel(); resultFailPanel2.setLayout(flowLayout); resultFailPanel2.setName("resultFailPanel2"); resultFailPanel2.setBackground(WINDOW_BACKGROUND_COLOR); resultFailPanel2.add(resultFailIconLabel2, null); } return resultFailPanel2; } /** * This method initializes resultUnattemptedPanel2 * * @return javax.swing.JPanel */ private JPanel getResultUnattemptedPanel2() { if (resultUnattemptedPanel2 == null) { resultUnattemptedLabel2 = new JLabel(); resultUnattemptedLabel2.setFont(WINDOW_FONT_BOLD); resultUnattemptedLabel2.setText(TASK_RESULT_UNATTEMPTED); FlowLayout flowLayout = new FlowLayout(); flowLayout.setAlignment(FlowLayout.LEFT); resultUnattemptedPanel2 = new JPanel(); resultUnattemptedPanel2.setLayout(flowLayout); resultUnattemptedPanel2.setName("resultUnattemptedPanel2"); resultUnattemptedPanel2.setBackground(WINDOW_BACKGROUND_COLOR); resultUnattemptedPanel2.add(resultUnattemptedLabel2, null); } return resultUnattemptedPanel2; } /** * This method initializes resultPanel3 * * @return javax.swing.JPanel */ private JPanel getResultPanel3() { if (resultPanel3 == null) { resultPanel3 = new JPanel(); resultPanel3.setLayout(new CardLayout()); resultPanel3.add(getResultInitialPanel3(), getResultInitialPanel3().getName()); resultPanel3.add(getResultPassPanel3(), getResultPassPanel3().getName()); resultPanel3.add(getResultFailPanel3(), getResultFailPanel3().getName()); resultPanel3.add(getResultUnattemptedPanel3(), getResultUnattemptedPanel3().getName()); } return resultPanel3; } /** * This method initializes resultInitialPanel3 * * @return javax.swing.JPanel */ private JPanel getResultInitialPanel3() { if (resultInitialPanel3 == null) { FlowLayout flowLayout = new FlowLayout(); flowLayout.setAlignment(FlowLayout.LEFT); resultInitialPanel3 = new JPanel(); resultInitialPanel3.setLayout(flowLayout); resultInitialPanel3.setName("resultInitialPanel3"); resultInitialPanel3.setBackground(WINDOW_BACKGROUND_COLOR); } return resultInitialPanel3; } /** * This method initializes resultPassPanel3 * * @return javax.swing.JPanel */ private JPanel getResultPassPanel3() { if (resultPassPanel3 == null) { resultPassIconLabel3 = new JLabel(); resultPassIconLabel3.setIcon(new ImageIcon(getClass().getResource("images/pass.gif"))); resultPassIconLabel3.setFont(WINDOW_FONT_BOLD); resultPassIconLabel3.setText(TASK_RESULT_PASS); FlowLayout flowLayout = new FlowLayout(); flowLayout.setAlignment(FlowLayout.LEFT); resultPassPanel3 = new JPanel(); resultPassPanel3.setLayout(flowLayout); resultPassPanel3.setName("resultPassPanel3"); resultPassPanel3.setBackground(WINDOW_BACKGROUND_COLOR); resultPassPanel3.add(resultPassIconLabel3, null); } return resultPassPanel3; } /** * This method initializes resultFailPanel3 * * @return javax.swing.JPanel */ private JPanel getResultFailPanel3() { if (resultFailPanel3 == null) { resultFailIconLabel3 = new JLabel(); resultFailIconLabel3.setIcon(new ImageIcon(getClass().getResource("images/fail.gif"))); resultFailIconLabel3.setFont(WINDOW_FONT_BOLD); resultFailIconLabel3.setText(TASK_RESULT_FAIL); FlowLayout flowLayout = new FlowLayout(); flowLayout.setAlignment(FlowLayout.LEFT); resultFailPanel3 = new JPanel(); resultFailPanel3.setLayout(flowLayout); resultFailPanel3.setName("resultFailPanel3"); resultFailPanel3.setBackground(WINDOW_BACKGROUND_COLOR); resultFailPanel3.add(resultFailIconLabel3, null); } return resultFailPanel3; } /** * This method initializes resultUnattemptedPanel3 * * @return javax.swing.JPanel */ private JPanel getResultUnattemptedPanel3() { if (resultUnattemptedPanel3 == null) { resultUnattemptedLabel3 = new JLabel(); resultUnattemptedLabel3.setFont(WINDOW_FONT_BOLD); resultUnattemptedLabel3.setText(TASK_RESULT_UNATTEMPTED); FlowLayout flowLayout = new FlowLayout(); flowLayout.setAlignment(FlowLayout.LEFT); resultUnattemptedPanel3 = new JPanel(); resultUnattemptedPanel3.setLayout(flowLayout); resultUnattemptedPanel3.setName("resultUnattemptedPanel3"); resultUnattemptedPanel3.setBackground(WINDOW_BACKGROUND_COLOR); resultUnattemptedPanel3.add(resultUnattemptedLabel3, null); } return resultUnattemptedPanel3; } /** * This method initializes resultPanel4 * * @return javax.swing.JPanel */ private JPanel getResultPanel4() { if (resultPanel4 == null) { resultPanel4 = new JPanel(); resultPanel4.setLayout(new CardLayout()); resultPanel4.add(getResultInitialPanel4(), getResultInitialPanel4().getName()); resultPanel4.add(getResultProgressPanel4(), getResultProgressPanel4().getName()); resultPanel4.add(getResultPassPanel4(), getResultPassPanel4().getName()); resultPanel4.add(getResultFailPanel4(), getResultFailPanel4().getName()); resultPanel4.add(getResultUnattemptedPanel4(), getResultUnattemptedPanel4().getName()); } return resultPanel4; } /** * This method initializes resultInitialPanel4 * * @return javax.swing.JPanel */ private JPanel getResultInitialPanel4() { if (resultInitialPanel4 == null) { FlowLayout flowLayout = new FlowLayout(); flowLayout.setAlignment(FlowLayout.LEFT); resultInitialPanel4 = new JPanel(); resultInitialPanel4.setLayout(flowLayout); resultInitialPanel4.setName("resultInitialPanel4"); resultInitialPanel4.setBackground(WINDOW_BACKGROUND_COLOR); } return resultInitialPanel4; } /** * This method initializes resultPassPanel4 * * @return javax.swing.JPanel */ private JPanel getResultPassPanel4() { if (resultPassPanel4 == null) { resultPassLabel4 = new JLabel(); resultPassLabel4.setFont(WINDOW_FONT_BOLD); resultPassLabel4.setText("x of y"); FlowLayout flowLayout = new FlowLayout(); flowLayout.setAlignment(FlowLayout.LEFT); resultPassPanel4 = new JPanel(); resultPassPanel4.setLayout(flowLayout); resultPassPanel4.setName("resultPassPanel4"); resultPassPanel4.setBackground(WINDOW_BACKGROUND_COLOR); resultPassPanel4.add(resultPassLabel4, null); } return resultPassPanel4; } /** * This method initializes resultFailPanel4 * * @return javax.swing.JPanel */ private JPanel getResultFailPanel4() { if (resultFailPanel4 == null) { resultFailIconLabel4 = new JLabel(); resultFailIconLabel4.setIcon(new ImageIcon(getClass().getResource("images/fail.gif"))); resultFailIconLabel4.setFont(WINDOW_FONT_BOLD); resultFailIconLabel4.setText(TASK_RESULT_FAIL_DOWNLOAD); FlowLayout flowLayout = new FlowLayout(); flowLayout.setAlignment(FlowLayout.LEFT); resultFailPanel4 = new JPanel(); resultFailPanel4.setLayout(flowLayout); resultFailPanel4.setName("resultFailPanel4"); resultFailPanel4.setBackground(WINDOW_BACKGROUND_COLOR); resultFailPanel4.add(resultFailIconLabel4, null); } return resultFailPanel4; } /** * This method initializes resultUnattemptedPanel4 * * @return javax.swing.JPanel */ private JPanel getResultUnattemptedPanel4() { if (resultUnattemptedPanel4 == null) { resultUnattemptedLabel4 = new JLabel(); resultUnattemptedLabel4.setFont(WINDOW_FONT_BOLD); resultUnattemptedLabel4.setText(TASK_RESULT_UNATTEMPTED); FlowLayout flowLayout = new FlowLayout(); flowLayout.setAlignment(FlowLayout.LEFT); resultUnattemptedPanel4 = new JPanel(); resultUnattemptedPanel4.setLayout(flowLayout); resultUnattemptedPanel4.setName("resultUnattemptedPanel4"); resultUnattemptedPanel4.setBackground(WINDOW_BACKGROUND_COLOR); resultUnattemptedPanel4.add(resultUnattemptedLabel4, null); } return resultUnattemptedPanel4; } /** * This method initializes resultProgressPanel4 * * @return javax.swing.JPanel */ private JPanel getResultProgressPanel4() { if (resultProgressPanel4 == null) { FlowLayout flowLayout = new FlowLayout(); flowLayout.setAlignment(FlowLayout.LEFT); flowLayout.setHgap(0); resultProgressPanel4 = new JPanel(); resultProgressPanel4.setLayout(flowLayout); resultProgressPanel4.setName("resultInProgressPanel4"); resultProgressPanel4.setBackground(WINDOW_BACKGROUND_COLOR); resultProgressPanel4.add(getResultProgressBar4(), null); } return resultProgressPanel4; } /** * This method initializes resultProgressBar4 * * @return javax.swing.JProgressBar */ private JProgressBar getResultProgressBar4() { if (resultProgressBar4 == null) { resultProgressBar4 = new JProgressBar(); resultProgressBar4.setValue(50); } return resultProgressBar4; } // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- /** */ private void startNetworkTroubleshooter() { if (this.networkTroubleshooter != null) { stopNetworkTroubleshooter(); } this.networkTroubleshooter = new NetworkAnalyzer(this); this.networkTroubleshooter.start(); } /** */ private void stopNetworkTroubleshooter() { if (this.networkTroubleshooter != null && this.networkTroubleshooter.isAlive()) { this.networkTroubleshooter.interruptByUser(); } this.networkTroubleshooter = null; } /** */ public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equalsIgnoreCase(ACTION_EXIT)) { stopNetworkTroubleshooter(); System.exit(0); } else if (e.getActionCommand().equalsIgnoreCase(ACTION_SWITCH_TO_NETWORK)) { switchFrame(this.networkWindow); } else if (e.getActionCommand().equalsIgnoreCase(ACTION_SWITCH_TO_BANDWIDTH)) { switchFrame(this.bandwidthWindow); } else if (e.getActionCommand().equalsIgnoreCase(ACTION_SWITCH_TO_SPEECH)) { switchFrame(this.speechWindow); } else if (e.getActionCommand().equalsIgnoreCase(ACTION_START)) { setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); resetTasks(); getSaveButton().setEnabled(false); getRunButton().setText(BUTTON_STOP); getRunButton().setActionCommand(ACTION_STOP); startNetworkTroubleshooter(); } else if (e.getActionCommand().equalsIgnoreCase(ACTION_STOP)) { getRunButton().setEnabled(false); stopNetworkTroubleshooter(); } else if (e.getActionCommand().equalsIgnoreCase(ACTION_INTERRUPTED)) { setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); getRunButton().setText(BUTTON_START); getRunButton().setActionCommand(ACTION_START); getRunButton().setEnabled(true); getSaveButton().setEnabled(true); } else if (e.getActionCommand().equalsIgnoreCase(ACTION_COMPLETE)) { setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); getRunButton().setText(BUTTON_START); getRunButton().setActionCommand(ACTION_START); getRunButton().setEnabled(true); getSaveButton().setEnabled(true); getTaskDetailTextArea().setText(DETAILS_DONE); } else if (e.getActionCommand().equalsIgnoreCase(ACTION_SAVE)) { this.fileSaveDialog.setVisible(true); String filename = this.fileSaveDialog.getFile(); String directory = this.fileSaveDialog.getDirectory(); if (filename != null) { saveResultsToFile(directory, filename); } } else { System.err.println(e.getActionCommand() + " " + e.getSource().toString()); } } /** */ public void setAnalysisInterrupted() { ActionEvent ae = new ActionEvent(this, 0, ACTION_INTERRUPTED); this.actionPerformed(ae); } /** */ public void setAnalysisComplete() { ActionEvent ae = new ActionEvent(this, 0, ACTION_COMPLETE); this.actionPerformed(ae); } /** */ public void setResultForCheckingOas(AnalysisState result, String details) { CardLayout cl = (CardLayout) getResultPanel1().getLayout(); if (result == AnalysisState.PASS) { cl.show(getResultPanel1(), getResultPassPanel1().getName()); } else if (result == AnalysisState.FAIL) { cl.show(getResultPanel1(), getResultFailPanel1().getName()); getTaskDetailTextArea().setText(details); } else if (result == AnalysisState.UNATTEMPTED) { cl.show(getResultPanel1(), getResultUnattemptedPanel1().getName()); } else { cl.show(getResultPanel1(), getResultInitialPanel1().getName()); } } /** */ public void setResultForCheckingOasDelivery(AnalysisState result, String details) { CardLayout cl = (CardLayout) getResultPanel2().getLayout(); if (result == AnalysisState.PASS) { cl.show(getResultPanel2(), getResultPassPanel2().getName()); } else if (result == AnalysisState.FAIL) { cl.show(getResultPanel2(), getResultFailPanel2().getName()); getTaskDetailTextArea().setText(details); } else if (result == AnalysisState.UNATTEMPTED) { cl.show(getResultPanel2(), getResultUnattemptedPanel2().getName()); } else { cl.show(getResultPanel2(), getResultInitialPanel2().getName()); } } /** */ public void setResultForCheckingDynamicPages(AnalysisState result, String details) { CardLayout cl = (CardLayout) getResultPanel3().getLayout(); if (result == AnalysisState.PASS) { cl.show(getResultPanel3(), getResultPassPanel3().getName()); } else if (result == AnalysisState.FAIL) { cl.show(getResultPanel3(), getResultFailPanel3().getName()); getTaskDetailTextArea().setText(details); } else if (result == AnalysisState.UNATTEMPTED) { cl.show(getResultPanel3(), getResultUnattemptedPanel3().getName()); } else { cl.show(getResultPanel3(), getResultInitialPanel3().getName()); } } /** */ public void setResultForDownloadContent( AnalysisState result, String details, int percentComplete, long millis) { if (percentComplete < 0) percentComplete = 0; else if (percentComplete > 100) percentComplete = 100; CardLayout cl = (CardLayout) getResultPanel4().getLayout(); if (result == AnalysisState.PASS) { if (percentComplete == 100) { this.resultPassLabel4.setText(formatDuration(millis)); cl.show(getResultPanel4(), getResultPassPanel4().getName()); } else { cl.show(getResultPanel4(), getResultProgressPanel4().getName()); getResultProgressBar4().setValue(percentComplete); } } else if (result == AnalysisState.FAIL) { cl.show(getResultPanel4(), getResultFailPanel4().getName()); getTaskDetailTextArea().setText(details); } else if (result == AnalysisState.UNATTEMPTED) { cl.show(getResultPanel4(), getResultUnattemptedPanel4().getName()); } else { cl.show(getResultPanel4(), getResultInitialPanel4().getName()); } } /** */ private void resetTasks() { CardLayout cl; cl = (CardLayout) getResultPanel1().getLayout(); cl.show(getResultPanel1(), getResultInitialPanel1().getName()); cl = (CardLayout) getResultPanel2().getLayout(); cl.show(getResultPanel2(), getResultInitialPanel2().getName()); cl = (CardLayout) getResultPanel3().getLayout(); cl.show(getResultPanel3(), getResultInitialPanel3().getName()); cl = (CardLayout) getResultPanel4().getLayout(); cl.show(getResultPanel4(), getResultInitialPanel4().getName()); getTaskDetailTextArea().setText(""); } /** */ private String formatDuration(long millis) { String output = ""; long minutes = (millis / 1000) / 60; long seconds = (millis / 1000) % 60; if (minutes > 1) { output = String.valueOf(minutes) + " " + DOWNLOAD_MINUTES; } else if (minutes > 0) { output = String.valueOf(minutes) + " " + DOWNLOAD_MINUTE; } if (seconds > 1) { output += " " + String.valueOf(seconds) + " " + DOWNLOAD_SECONDS; } else if (seconds > 0) { output += " " + String.valueOf(seconds) + " " + DOWNLOAD_SECOND; } else { output = " < 1 " + DOWNLOAD_SECOND; } return output; } /** @param filename2 */ private void saveResultsToFile(String directory, String filename) { try { SimpleTextFileWriter resultsFile = new SimpleTextFileWriter(directory, filename); resultsFile.writeDecorativeLine(); resultsFile.writeln(this.getTitle()); resultsFile.writeDateTimestamp(); resultsFile.writeDecorativeLine(); resultsFile.writeln(); resultsFile.writeln(this.questionLabel1.getText()); if (getResultPassPanel1().isVisible()) resultsFile.writeln(this.resultPassIconLabel1.getText()); else if (getResultFailPanel1().isVisible()) resultsFile.writeln(this.resultFailIconLabel1.getText()); else if (getResultUnattemptedPanel1().isVisible()) resultsFile.writeln(this.resultUnattemptedLabel1.getText()); resultsFile.writeln(); resultsFile.writeln(this.questionLabel2.getText()); if (getResultPassPanel2().isVisible()) resultsFile.writeln(this.resultPassIconLabel2.getText()); else if (getResultFailPanel2().isVisible()) resultsFile.writeln(this.resultFailIconLabel2.getText()); else if (getResultUnattemptedPanel2().isVisible()) resultsFile.writeln(this.resultUnattemptedLabel2.getText()); resultsFile.writeln(); resultsFile.writeln(this.questionLabel3.getText()); if (getResultPassPanel3().isVisible()) resultsFile.writeln(this.resultPassIconLabel3.getText()); else if (getResultFailPanel3().isVisible()) resultsFile.writeln(this.resultFailIconLabel3.getText()); else if (getResultUnattemptedPanel3().isVisible()) resultsFile.writeln(this.resultUnattemptedLabel3.getText()); resultsFile.writeln(); resultsFile.writeln(this.questionLabel4.getText()); if (getResultPassPanel4().isVisible()) resultsFile.writeln(this.resultPassLabel4.getText()); else if (getResultFailPanel4().isVisible()) resultsFile.writeln(this.resultFailIconLabel4.getText()); else if (getResultUnattemptedPanel4().isVisible()) resultsFile.writeln(this.resultUnattemptedLabel1.getText()); resultsFile.writeln(); resultsFile.writeln(); resultsFile.writeln(DETAILS_GROUPING); resultsFile.writeDecorativeLine(); resultsFile.writeln(getTaskDetailTextArea().getText()); resultsFile.close(); } catch (IOException e) { JOptionPane.showMessageDialog( null, AppResourceBundleUtil.getString( "tsutility.mainWindow.saveDialog.error.message.ioException"), AppResourceBundleUtil.getString("tsutility.mainWindow.saveDialog.error.title"), JOptionPane.ERROR_MESSAGE); } } } // @jve:decl-index=0:visual-constraint="7,7"
/** @param filename2 */ private void saveResultsToFile(String directory, String filename) { try { SimpleTextFileWriter resultsFile = new SimpleTextFileWriter(directory, filename); resultsFile.writeDecorativeLine(); resultsFile.writeln(this.getTitle()); resultsFile.writeDateTimestamp(); resultsFile.writeDecorativeLine(); resultsFile.writeln(); resultsFile.writeln(this.questionLabel1.getText()); if (getResultPassPanel1().isVisible()) resultsFile.writeln(this.resultPassIconLabel1.getText()); else if (getResultFailPanel1().isVisible()) resultsFile.writeln(this.resultFailIconLabel1.getText()); else if (getResultUnattemptedPanel1().isVisible()) resultsFile.writeln(this.resultUnattemptedLabel1.getText()); resultsFile.writeln(); resultsFile.writeln(this.questionLabel2.getText()); if (getResultPassPanel2().isVisible()) resultsFile.writeln(this.resultPassIconLabel2.getText()); else if (getResultFailPanel2().isVisible()) resultsFile.writeln(this.resultFailIconLabel2.getText()); else if (getResultUnattemptedPanel2().isVisible()) resultsFile.writeln(this.resultUnattemptedLabel2.getText()); resultsFile.writeln(); resultsFile.writeln(this.questionLabel3.getText()); if (getResultPassPanel3().isVisible()) resultsFile.writeln(this.resultPassIconLabel3.getText()); else if (getResultFailPanel3().isVisible()) resultsFile.writeln(this.resultFailIconLabel3.getText()); else if (getResultUnattemptedPanel3().isVisible()) resultsFile.writeln(this.resultUnattemptedLabel3.getText()); resultsFile.writeln(); resultsFile.writeln(this.questionLabel4.getText()); if (getResultPassPanel4().isVisible()) resultsFile.writeln(this.resultPassLabel4.getText()); else if (getResultFailPanel4().isVisible()) resultsFile.writeln(this.resultFailIconLabel4.getText()); else if (getResultUnattemptedPanel4().isVisible()) resultsFile.writeln(this.resultUnattemptedLabel1.getText()); resultsFile.writeln(); resultsFile.writeln(); resultsFile.writeln(DETAILS_GROUPING); resultsFile.writeDecorativeLine(); resultsFile.writeln(getTaskDetailTextArea().getText()); resultsFile.close(); } catch (IOException e) { JOptionPane.showMessageDialog( null, AppResourceBundleUtil.getString( "tsutility.mainWindow.saveDialog.error.message.ioException"), AppResourceBundleUtil.getString("tsutility.mainWindow.saveDialog.error.title"), JOptionPane.ERROR_MESSAGE); } }