/* * MainGUIView.java */ package org.mobicents.media.server.testsuite.gui; import java.io.File; import java.util.Vector; import javax.sdp.Attribute; import org.jdesktop.application.Action; import org.jdesktop.application.ResourceMap; import org.jdesktop.application.SingleFrameApplication; import org.jdesktop.application.FrameView; import org.jdesktop.application.TaskMonitor; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.HashMap; import java.util.Map; import javax.sdp.SdpFactory; import javax.swing.Timer; import javax.swing.Icon; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JButton; import javax.swing.JFileChooser; import org.mobicents.media.server.testsuite.general.AbstractCall; import org.mobicents.media.server.testsuite.general.AbstractTestCase; import org.mobicents.media.server.testsuite.general.CallDisplayInterface; import org.mobicents.media.server.testsuite.general.ann.AnnouncementTest; import org.mobicents.media.server.testsuite.general.file.FileUtils; import org.mobicents.media.server.testsuite.gui.graph.RtpTrafficDialog; /** * The application's main frame. */ public class MainGUIView extends FrameView implements CallDisplayInterface{ public MainGUIView(SingleFrameApplication app) { super(app); initComponents(); initLocalComponents(); // status bar initialization - message timeout, idle icon and busy animation, etc ResourceMap resourceMap = getResourceMap(); int messageTimeout = resourceMap.getInteger("StatusBar.messageTimeout"); messageTimer = new Timer(messageTimeout, new ActionListener() { public void actionPerformed(ActionEvent e) { statusMessageLabel.setText(""); } }); messageTimer.setRepeats(false); int busyAnimationRate = resourceMap.getInteger("StatusBar.busyAnimationRate"); for (int i = 0; i < busyIcons.length; i++) { busyIcons[i] = resourceMap.getIcon("StatusBar.busyIcons[" + i + "]"); } busyIconTimer = new Timer(busyAnimationRate, new ActionListener() { public void actionPerformed(ActionEvent e) { busyIconIndex = (busyIconIndex + 1) % busyIcons.length; statusAnimationLabel.setIcon(busyIcons[busyIconIndex]); } }); idleIcon = resourceMap.getIcon("StatusBar.idleIcon"); statusAnimationLabel.setIcon(idleIcon); progressBar.setVisible(false); // connecting action tasks to status bar via TaskMonitor TaskMonitor taskMonitor = new TaskMonitor(getApplication().getContext()); taskMonitor.addPropertyChangeListener(new java.beans.PropertyChangeListener() { public void propertyChange(java.beans.PropertyChangeEvent evt) { String propertyName = evt.getPropertyName(); if ("started".equals(propertyName)) { if (!busyIconTimer.isRunning()) { statusAnimationLabel.setIcon(busyIcons[0]); busyIconIndex = 0; busyIconTimer.start(); } progressBar.setVisible(true); progressBar.setIndeterminate(true); } else if ("done".equals(propertyName)) { busyIconTimer.stop(); statusAnimationLabel.setIcon(idleIcon); progressBar.setVisible(false); progressBar.setValue(0); } else if ("message".equals(propertyName)) { String text = (String)(evt.getNewValue()); statusMessageLabel.setText((text == null) ? "" : text); messageTimer.restart(); } else if ("progress".equals(propertyName)) { int value = (Integer)(evt.getNewValue()); progressBar.setVisible(true); progressBar.setIndeterminate(false); progressBar.setValue(value); } } }); } @Action public void showAboutBox() { if (aboutBox == null) { JFrame mainFrame = MainGUI.getApplication().getMainFrame(); aboutBox = new MainGUIAboutBox(mainFrame); aboutBox.setLocationRelativeTo(mainFrame); } MainGUI.getApplication().show(aboutBox); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { mainPanel = new javax.swing.JPanel(); userDialogPanel = new javax.swing.JTabbedPane(); dataLoadPanel = new javax.swing.JPanel(); dirLoadFileChooser = new javax.swing.JFileChooser(); dataPanel = new javax.swing.JPanel(); jScrollPane1 = new javax.swing.JScrollPane(); fieldLoadedDataDisplayTable = new javax.swing.JTable(); testSetupPanel = new javax.swing.JPanel(); jSeparator1 = new javax.swing.JSeparator(); _labelCallDuration = new javax.swing.JLabel(); _labelCPS = new javax.swing.JLabel(); _labelServerAddress = new javax.swing.JLabel(); _labelClientAddress = new javax.swing.JLabel(); _labelCodec = new javax.swing.JLabel(); _labelServerPort = new javax.swing.JLabel(); _labelClientPort = new javax.swing.JLabel(); _labelDumpDir = new javax.swing.JLabel(); fieldCallDurrationTextField = new javax.swing.JTextField(); fieldCPS = new javax.swing.JTextField(); fieldServerAddress = new javax.swing.JTextField(); fieldClientAddress = new javax.swing.JTextField(); fieldDataDumpDir = new javax.swing.JTextField(); fieldServerPort = new javax.swing.JTextField(); fieldClientPort = new javax.swing.JTextField(); fieldCodecBox = new javax.swing.JComboBox(); jSeparator2 = new javax.swing.JSeparator(); buttonStartTest = new javax.swing.JButton(); buttonStopTest = new javax.swing.JButton(); buttonIncreseDurrationBy10 = new javax.swing.JButton(); buttonDecreaseBy10 = new javax.swing.JButton(); buttonIncreaseCPSBy1 = new javax.swing.JButton(); buttonDecreaseCPSBy1 = new javax.swing.JButton(); jSeparator3 = new javax.swing.JSeparator(); _labelOngoingCalls = new javax.swing.JLabel(); fieldOngoingCalls = new javax.swing.JTextField(); _labelCompletedCalls = new javax.swing.JLabel(); _labelCalls = new javax.swing.JLabel(); fieldCompletedCalls = new javax.swing.JTextField(); _labelErrorCalls = new javax.swing.JLabel(); fieldFailedCalls = new javax.swing.JTextField(); jSeparator4 = new javax.swing.JSeparator(); labelFileUrl = new javax.swing.JLabel(); fieldAnnFileURL = new javax.swing.JTextField(); _labelMaxCalls = new javax.swing.JLabel(); fieldMaxCallNumber = new javax.swing.JTextField(); _labelConcurrentCalls = new javax.swing.JLabel(); fieldConcurrentCalls = new javax.swing.JTextField(); _labelMaxFailCalls = new javax.swing.JLabel(); fieldMaxFailCalls = new javax.swing.JTextField(); menuBar = new javax.swing.JMenuBar(); javax.swing.JMenu fileMenu = new javax.swing.JMenu(); javax.swing.JMenuItem exitMenuItem = new javax.swing.JMenuItem(); annTestAction = new javax.swing.JMenuItem(); javax.swing.JMenu helpMenu = new javax.swing.JMenu(); javax.swing.JMenuItem aboutMenuItem = new javax.swing.JMenuItem(); statusPanel = new javax.swing.JPanel(); javax.swing.JSeparator statusPanelSeparator = new javax.swing.JSeparator(); statusMessageLabel = new javax.swing.JLabel(); statusAnimationLabel = new javax.swing.JLabel(); progressBar = new javax.swing.JProgressBar(); mainPanel.setName("mainPanel"); // NOI18N userDialogPanel.setName("dialogTabbedPane"); // NOI18N dataLoadPanel.setName("dataLoadPanel"); // NOI18N dirLoadFileChooser.setFileSelectionMode(javax.swing.JFileChooser.DIRECTORIES_ONLY); dirLoadFileChooser.setName("dirLoadFileChooser"); // NOI18N dirLoadFileChooser.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { dirLoadFileChooserActionPerformed(evt); } }); org.jdesktop.layout.GroupLayout dataLoadPanelLayout = new org.jdesktop.layout.GroupLayout(dataLoadPanel); dataLoadPanel.setLayout(dataLoadPanelLayout); dataLoadPanelLayout.setHorizontalGroup( dataLoadPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(dirLoadFileChooser, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 609, Short.MAX_VALUE) ); dataLoadPanelLayout.setVerticalGroup( dataLoadPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(dirLoadFileChooser, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 478, Short.MAX_VALUE) ); org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(org.mobicents.media.server.testsuite.gui.MainGUI.class).getContext().getResourceMap(MainGUIView.class); userDialogPanel.addTab(resourceMap.getString("dataLoadPanel.TabConstraints.tabTitle"), resourceMap.getIcon("dataLoadPanel.TabConstraints.tabIcon"), dataLoadPanel); // NOI18N dataPanel.setName("dataPanel"); // NOI18N jScrollPane1.setName("jScrollPane1"); // NOI18N fieldLoadedDataDisplayTable.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { }, new String [] { "Call Seq", "Endpoint", "Avg Jitter", "Peak Jitter", "Title 5", "Call ID" } ) { Class[] types = new Class [] { java.lang.Long.class, java.lang.String.class, java.lang.Long.class, java.lang.Long.class, java.lang.Object.class, java.lang.Object.class }; boolean[] canEdit = new boolean [] { false, false, false, false, false, false }; public Class getColumnClass(int columnIndex) { return types [columnIndex]; } public boolean isCellEditable(int rowIndex, int columnIndex) { return canEdit [columnIndex]; } }); fieldLoadedDataDisplayTable.setName("fieldLoadedDataDisplayTable"); // NOI18N fieldLoadedDataDisplayTable.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { fieldLoadedDataDisplayTableMouseClicked(evt); } }); jScrollPane1.setViewportView(fieldLoadedDataDisplayTable); org.jdesktop.layout.GroupLayout dataPanelLayout = new org.jdesktop.layout.GroupLayout(dataPanel); dataPanel.setLayout(dataPanelLayout); dataPanelLayout.setHorizontalGroup( dataPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 609, Short.MAX_VALUE) ); dataPanelLayout.setVerticalGroup( dataPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 478, Short.MAX_VALUE) ); userDialogPanel.addTab(resourceMap.getString("dataPanel.TabConstraints.tabTitle"), resourceMap.getIcon("dataPanel.TabConstraints.tabIcon"), dataPanel); // NOI18N testSetupPanel.setName("testSetupPanel"); // NOI18N jSeparator1.setName("jSeparator1"); // NOI18N _labelCallDuration.setText(resourceMap.getString("_labelCallDuration.text")); // NOI18N _labelCallDuration.setName("_labelCallDuration"); // NOI18N _labelCPS.setText(resourceMap.getString("_labelCPS.text")); // NOI18N _labelCPS.setName("_labelCPS"); // NOI18N _labelServerAddress.setText(resourceMap.getString("_labelServerAddress.text")); // NOI18N _labelServerAddress.setName("_labelServerAddress"); // NOI18N _labelClientAddress.setText(resourceMap.getString("_labelClientAddress.text")); // NOI18N _labelClientAddress.setName("_labelClientAddress"); // NOI18N _labelCodec.setText(resourceMap.getString("_labelCodec.text")); // NOI18N _labelCodec.setName("_labelCodec"); // NOI18N _labelServerPort.setText(resourceMap.getString("_labelServerPort.text")); // NOI18N _labelServerPort.setName("_labelServerPort"); // NOI18N _labelClientPort.setText(resourceMap.getString("_labelClientPort.text")); // NOI18N _labelClientPort.setName("_labelClientPort"); // NOI18N _labelDumpDir.setText(resourceMap.getString("_labelDumpDir.text")); // NOI18N _labelDumpDir.setName("_labelDumpDir"); // NOI18N fieldCallDurrationTextField.setText(resourceMap.getString("fieldCallDurrationTextField.text")); // NOI18N fieldCallDurrationTextField.setName("fieldCallDurrationTextField"); // NOI18N fieldCPS.setText(resourceMap.getString("fieldCPS.text")); // NOI18N fieldCPS.setName("fieldCPS"); // NOI18N fieldServerAddress.setText(resourceMap.getString("fieldServerAddress.text")); // NOI18N fieldServerAddress.setName("fieldServerAddress"); // NOI18N fieldClientAddress.setText(resourceMap.getString("fieldClientAddress.text")); // NOI18N fieldClientAddress.setName("fieldClientAddress"); // NOI18N fieldDataDumpDir.setText(resourceMap.getString("fieldDataDumpDir.text")); // NOI18N fieldDataDumpDir.setName("fieldDataDumpDir"); // NOI18N fieldServerPort.setText(resourceMap.getString("fieldServerPort.text")); // NOI18N fieldServerPort.setName("fieldServerPort"); // NOI18N fieldClientPort.setText(resourceMap.getString("fieldClientPort.text")); // NOI18N fieldClientPort.setName("fieldClientPort"); // NOI18N fieldCodecBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); fieldCodecBox.setName("fieldCodecBox"); // NOI18N jSeparator2.setName("jSeparator2"); // NOI18N buttonStartTest.setIcon(resourceMap.getIcon("buttonStartTest.icon")); // NOI18N buttonStartTest.setText(resourceMap.getString("buttonStartTest.text")); // NOI18N buttonStartTest.setEnabled(false); buttonStartTest.setName("buttonStartTest"); // NOI18N buttonStartTest.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { buttonStartTestActionPerformed(evt); } }); buttonStopTest.setIcon(resourceMap.getIcon("buttonStopTest.icon")); // NOI18N buttonStopTest.setText(resourceMap.getString("buttonStopTest.text")); // NOI18N buttonStopTest.setName("buttonStopTest"); // NOI18N buttonStopTest.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { buttonStopTestActionPerformed(evt); } }); buttonIncreseDurrationBy10.setText(resourceMap.getString("buttonIncreseDurrationBy10.text")); // NOI18N buttonIncreseDurrationBy10.setName("buttonIncreseDurrationBy10"); // NOI18N buttonIncreseDurrationBy10.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { buttonIncreseDurrationBy10ActionPerformed(evt); } }); buttonDecreaseBy10.setText(resourceMap.getString("buttonDecreaseBy10.text")); // NOI18N buttonDecreaseBy10.setName("buttonDecreaseBy10"); // NOI18N buttonDecreaseBy10.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { buttonDecreaseBy10ActionPerformed(evt); } }); buttonIncreaseCPSBy1.setText(resourceMap.getString("buttonIncreaseCPSBy1.text")); // NOI18N buttonIncreaseCPSBy1.setName("buttonIncreaseCPSBy1"); // NOI18N buttonIncreaseCPSBy1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { buttonIncreaseCPSBy1ActionPerformed(evt); } }); buttonDecreaseCPSBy1.setText(resourceMap.getString("buttonDecreaseCPSBy1.text")); // NOI18N buttonDecreaseCPSBy1.setName("buttonDecreaseCPSBy1"); // NOI18N buttonDecreaseCPSBy1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { buttonDecreaseCPSBy1ActionPerformed(evt); } }); jSeparator3.setName("jSeparator3"); // NOI18N _labelOngoingCalls.setText(resourceMap.getString("_labelOngoingCalls.text")); // NOI18N _labelOngoingCalls.setName("_labelOngoingCalls"); // NOI18N fieldOngoingCalls.setBackground(resourceMap.getColor("fieldOngoingCalls.background")); // NOI18N fieldOngoingCalls.setText(resourceMap.getString("fieldOngoingCalls.text")); // NOI18N fieldOngoingCalls.setEnabled(false); fieldOngoingCalls.setName("fieldOngoingCalls"); // NOI18N fieldOngoingCalls.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { fieldOngoingCallsActionPerformed(evt); } }); _labelCompletedCalls.setText(resourceMap.getString("_labelCompletedCalls.text")); // NOI18N _labelCompletedCalls.setName("_labelCompletedCalls"); // NOI18N _labelCalls.setFont(resourceMap.getFont("_labelCalls.font")); // NOI18N _labelCalls.setText(resourceMap.getString("_labelCalls.text")); // NOI18N _labelCalls.setName("_labelCalls"); // NOI18N fieldCompletedCalls.setBackground(resourceMap.getColor("fieldCompletedCalls.background")); // NOI18N fieldCompletedCalls.setText(resourceMap.getString("fieldCompletedCalls.text")); // NOI18N fieldCompletedCalls.setEnabled(false); fieldCompletedCalls.setName("fieldCompletedCalls"); // NOI18N _labelErrorCalls.setText(resourceMap.getString("_labelErrorCalls.text")); // NOI18N _labelErrorCalls.setName("_labelErrorCalls"); // NOI18N fieldFailedCalls.setBackground(resourceMap.getColor("fieldFailedCalls.background")); // NOI18N fieldFailedCalls.setText(resourceMap.getString("fieldFailedCalls.text")); // NOI18N fieldFailedCalls.setEnabled(false); fieldFailedCalls.setName("fieldFailedCalls"); // NOI18N jSeparator4.setName("jSeparator4"); // NOI18N labelFileUrl.setText(resourceMap.getString("labelFileUrl.text")); // NOI18N labelFileUrl.setName("labelFileUrl"); // NOI18N fieldAnnFileURL.setText(resourceMap.getString("fieldAnnFileURL.text")); // NOI18N fieldAnnFileURL.setName("fieldAnnFileURL"); // NOI18N _labelMaxCalls.setText(resourceMap.getString("_labelMaxCalls.text")); // NOI18N _labelMaxCalls.setName("_labelMaxCalls"); // NOI18N fieldMaxCallNumber.setText(resourceMap.getString("fieldMaxCallNumber.text")); // NOI18N fieldMaxCallNumber.setName("fieldMaxCallNumber"); // NOI18N _labelConcurrentCalls.setText(resourceMap.getString("_labelConcurrentCalls.text")); // NOI18N _labelConcurrentCalls.setName("_labelConcurrentCalls"); // NOI18N fieldConcurrentCalls.setText(resourceMap.getString("fieldConcurrentCalls.text")); // NOI18N fieldConcurrentCalls.setName("fieldConcurrentCalls"); // NOI18N _labelMaxFailCalls.setText(resourceMap.getString("_labelMaxFailCalls.text")); // NOI18N _labelMaxFailCalls.setName("_labelMaxFailCalls"); // NOI18N fieldMaxFailCalls.setText(resourceMap.getString("fieldMaxFailCalls.text")); // NOI18N fieldMaxFailCalls.setName("fieldMaxFailCalls"); // NOI18N org.jdesktop.layout.GroupLayout testSetupPanelLayout = new org.jdesktop.layout.GroupLayout(testSetupPanel); testSetupPanel.setLayout(testSetupPanelLayout); testSetupPanelLayout.setHorizontalGroup( testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(testSetupPanelLayout.createSequentialGroup() .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(org.jdesktop.layout.GroupLayout.TRAILING, testSetupPanelLayout.createSequentialGroup() .addContainerGap() .add(jSeparator3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 589, Short.MAX_VALUE)) .add(testSetupPanelLayout.createSequentialGroup() .addContainerGap() .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jSeparator1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 589, Short.MAX_VALUE) .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false) .add(testSetupPanelLayout.createSequentialGroup() .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(_labelCallDuration) .add(_labelCPS) .add(_labelServerAddress)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false) .add(fieldCallDurrationTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 108, Short.MAX_VALUE) .add(fieldCPS) .add(fieldServerAddress, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 143, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) .add(testSetupPanelLayout.createSequentialGroup() .add(_labelClientAddress) .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED) .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(fieldMaxCallNumber, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 143, Short.MAX_VALUE) .add(org.jdesktop.layout.GroupLayout.TRAILING, fieldClientAddress, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 142, Short.MAX_VALUE)) .add(17, 17, 17) .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(_labelServerPort) .add(_labelClientPort) .add(_labelDumpDir) .add(_labelCodec) .add(_labelConcurrentCalls) .add(_labelMaxFailCalls)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false) .add(fieldConcurrentCalls) .add(fieldClientPort) .add(fieldServerPort) .add(fieldDataDumpDir) .add(fieldCodecBox, 0, 136, Short.MAX_VALUE) .add(fieldMaxFailCalls)) .add(59, 59, 59))))) .add(testSetupPanelLayout.createSequentialGroup() .addContainerGap() .add(jSeparator4, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 589, Short.MAX_VALUE)) .add(testSetupPanelLayout.createSequentialGroup() .addContainerGap() .add(_labelOngoingCalls) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(fieldOngoingCalls, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 105, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED) .add(_labelCompletedCalls) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(fieldCompletedCalls, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 101, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(_labelErrorCalls) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(fieldFailedCalls, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 92, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) .add(testSetupPanelLayout.createSequentialGroup() .add(261, 261, 261) .add(_labelCalls)) .add(testSetupPanelLayout.createSequentialGroup() .addContainerGap() .add(buttonStartTest) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(buttonStopTest) .add(22, 22, 22) .add(buttonIncreseDurrationBy10) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(buttonDecreaseBy10) .add(30, 30, 30) .add(buttonIncreaseCPSBy1) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(buttonDecreaseCPSBy1)) .add(org.jdesktop.layout.GroupLayout.TRAILING, testSetupPanelLayout.createSequentialGroup() .addContainerGap() .add(jSeparator2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 589, Short.MAX_VALUE)) .add(testSetupPanelLayout.createSequentialGroup() .addContainerGap() .add(_labelMaxCalls)) .add(org.jdesktop.layout.GroupLayout.TRAILING, testSetupPanelLayout.createSequentialGroup() .addContainerGap() .add(labelFileUrl) .add(41, 41, 41) .add(fieldAnnFileURL, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 503, Short.MAX_VALUE))) .addContainerGap()) ); testSetupPanelLayout.linkSize(new java.awt.Component[] {fieldCPS, fieldCallDurrationTextField, fieldClientAddress, fieldServerAddress}, org.jdesktop.layout.GroupLayout.HORIZONTAL); testSetupPanelLayout.linkSize(new java.awt.Component[] {fieldCompletedCalls, fieldFailedCalls, fieldOngoingCalls}, org.jdesktop.layout.GroupLayout.HORIZONTAL); testSetupPanelLayout.setVerticalGroup( testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(testSetupPanelLayout.createSequentialGroup() .add(8, 8, 8) .add(jSeparator1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 10, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(testSetupPanelLayout.createSequentialGroup() .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(_labelCallDuration) .add(fieldCallDurrationTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(_labelCPS) .add(fieldCPS, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(_labelServerAddress) .add(fieldServerAddress, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(_labelClientAddress) .add(fieldClientAddress, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) .add(testSetupPanelLayout.createSequentialGroup() .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(fieldCodecBox, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .add(_labelCodec)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(_labelDumpDir) .add(fieldDataDumpDir, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(_labelServerPort) .add(fieldServerPort, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(_labelClientPort) .add(fieldClientPort, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(_labelMaxCalls) .add(fieldMaxCallNumber, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(_labelConcurrentCalls) .add(fieldConcurrentCalls, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(fieldMaxFailCalls, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .add(_labelMaxFailCalls)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED) .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(fieldAnnFileURL, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .add(labelFileUrl)) .add(106, 106, 106) .add(jSeparator2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 10, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(buttonStartTest) .add(buttonStopTest) .add(buttonIncreaseCPSBy1) .add(buttonDecreaseBy10) .add(buttonIncreseDurrationBy10)) .add(buttonDecreaseCPSBy1)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jSeparator3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 10, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(_labelCalls) .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED) .add(testSetupPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(_labelOngoingCalls) .add(fieldOngoingCalls, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .add(_labelCompletedCalls) .add(fieldCompletedCalls, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .add(_labelErrorCalls) .add(fieldFailedCalls, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED) .add(jSeparator4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 10, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .addContainerGap(33, Short.MAX_VALUE)) ); userDialogPanel.addTab(resourceMap.getString("testSetupPanel.TabConstraints.tabTitle"), resourceMap.getIcon("testSetupPanel.TabConstraints.tabIcon"), testSetupPanel); // NOI18N org.jdesktop.layout.GroupLayout mainPanelLayout = new org.jdesktop.layout.GroupLayout(mainPanel); mainPanel.setLayout(mainPanelLayout); mainPanelLayout.setHorizontalGroup( mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(userDialogPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 614, Short.MAX_VALUE) ); mainPanelLayout.setVerticalGroup( mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(userDialogPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 505, Short.MAX_VALUE) ); menuBar.setName("menuBar"); // NOI18N fileMenu.setText(resourceMap.getString("fileMenu.text")); // NOI18N fileMenu.setName("fileMenu"); // NOI18N javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(org.mobicents.media.server.testsuite.gui.MainGUI.class).getContext().getActionMap(MainGUIView.class, this); exitMenuItem.setAction(actionMap.get("quit")); // NOI18N exitMenuItem.setName("exitMenuItem"); // NOI18N fileMenu.add(exitMenuItem); annTestAction.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_A, java.awt.event.InputEvent.ALT_MASK)); annTestAction.setText(resourceMap.getString("annTestAction.text")); // NOI18N annTestAction.setName("annTestAction"); // NOI18N annTestAction.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { annTestActionActionPerformed(evt); } }); fileMenu.add(annTestAction); menuBar.add(fileMenu); helpMenu.setText(resourceMap.getString("helpMenu.text")); // NOI18N helpMenu.setName("helpMenu"); // NOI18N aboutMenuItem.setAction(actionMap.get("showAboutBox")); // NOI18N aboutMenuItem.setName("aboutMenuItem"); // NOI18N helpMenu.add(aboutMenuItem); menuBar.add(helpMenu); statusPanel.setName("statusPanel"); // NOI18N statusPanelSeparator.setName("statusPanelSeparator"); // NOI18N statusMessageLabel.setName("statusMessageLabel"); // NOI18N statusAnimationLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); statusAnimationLabel.setName("statusAnimationLabel"); // NOI18N progressBar.setName("progressBar"); // NOI18N org.jdesktop.layout.GroupLayout statusPanelLayout = new org.jdesktop.layout.GroupLayout(statusPanel); statusPanel.setLayout(statusPanelLayout); statusPanelLayout.setHorizontalGroup( statusPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(statusPanelSeparator, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 614, Short.MAX_VALUE) .add(statusPanelLayout.createSequentialGroup() .addContainerGap() .add(statusMessageLabel) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 440, Short.MAX_VALUE) .add(progressBar, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(statusAnimationLabel) .addContainerGap()) ); statusPanelLayout.setVerticalGroup( statusPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(statusPanelLayout.createSequentialGroup() .add(statusPanelSeparator, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .add(statusPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(statusMessageLabel) .add(statusAnimationLabel) .add(progressBar, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) .add(3, 3, 3)) ); setComponent(mainPanel); setMenuBar(menuBar); setStatusBar(statusPanel); }// </editor-fold>//GEN-END:initComponents private void dirLoadFileChooserActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_dirLoadFileChooserActionPerformed // TODO add your handling code here: if(evt.getActionCommand().equals(JFileChooser.APPROVE_SELECTION)) { try{ File directory = this.dirLoadFileChooser.getSelectedFile(); AbstractTestCase test = FileUtils.deserializeTestCase(directory); test.setCallDisplay(this, directory); this.buttonStartTest.setEnabled(true); this.userDialogPanel.setSelectedComponent(this.dataPanel); this.currentTest = test; this.fieldLoadedDataDisplayTable.setModel(this.currentTest.getTableModel()); updateCallView(); }catch(Exception e) { e.printStackTrace(); } } }//GEN-LAST:event_dirLoadFileChooserActionPerformed private void buttonStartTestActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonStartTestActionPerformed // TODO add your handling code here: try{ this.currentTest.start(); this.buttonStartTest.setEnabled(false); this.fieldCallDurrationTextField.setEnabled(false); this.fieldClientAddress.setEnabled(false); this.fieldClientPort.setEnabled(false); this.fieldCodecBox.setEnabled(false); this.fieldDataDumpDir.setEnabled(false); this.fieldServerAddress.setEnabled(false); this.fieldServerPort.setEnabled(false); this.fieldCPS.setEnabled(false); this.fieldMaxCallNumber.setEnabled(false); this.fieldConcurrentCalls.setEnabled(false); this.fieldMaxFailCalls.setEnabled(false); this.dirLoadFileChooser.setCurrentDirectory(new File(this.fieldDataDumpDir.getText())); }catch(Exception e) { e.printStackTrace(); } }//GEN-LAST:event_buttonStartTestActionPerformed private void buttonStopTestActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonStopTestActionPerformed // TODO add your handling code here: if(this.currentTest!=null); try{ this.currentTest.stop(false); this.buttonStartTest.setEnabled(true); this.fieldCallDurrationTextField.setEnabled(true); this.fieldClientAddress.setEnabled(true); this.fieldClientPort.setEnabled(true); this.fieldCodecBox.setEnabled(true); this.fieldDataDumpDir.setEnabled(true); this.fieldServerAddress.setEnabled(true); this.fieldServerPort.setEnabled(true); this.fieldCPS.setEnabled(true); this.fieldMaxCallNumber.setEnabled(true); this.fieldConcurrentCalls.setEnabled(true); this.fieldMaxFailCalls.setEnabled(true); }catch(Exception e) { e.printStackTrace(); } }//GEN-LAST:event_buttonStopTestActionPerformed private void buttonIncreseDurrationBy10ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonIncreseDurrationBy10ActionPerformed // TODO add your handling code here: long l = Long.valueOf(this.fieldCallDurrationTextField.getText()); l+=10; this.fieldCallDurrationTextField.setText(l+""); if(this.currentTest!=null) { this.currentTest.onCallLengthChange(); } }//GEN-LAST:event_buttonIncreseDurrationBy10ActionPerformed private void buttonDecreaseBy10ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonDecreaseBy10ActionPerformed // TODO add your handling code here: long l = Long.valueOf(this.fieldCallDurrationTextField.getText()); l-=10; if(l<5) { l=10; } this.fieldCallDurrationTextField.setText(l+""); if(this.currentTest!=null) { this.currentTest.onCallLengthChange(); } }//GEN-LAST:event_buttonDecreaseBy10ActionPerformed private void buttonIncreaseCPSBy1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonIncreaseCPSBy1ActionPerformed // TODO add your handling code here: long l = Long.valueOf(this.fieldCPS.getText())+1; this.fieldCPS.setText(""+l); if(this.currentTest!=null) { this.currentTest.onCPSChange(); } }//GEN-LAST:event_buttonIncreaseCPSBy1ActionPerformed private void buttonDecreaseCPSBy1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonDecreaseCPSBy1ActionPerformed // TODO add your handling code here: long l = Long.valueOf(this.fieldCPS.getText())-1; if(l<0) l=0; this.fieldCPS.setText(""+l); if(this.currentTest!=null) { this.currentTest.onCPSChange(); } }//GEN-LAST:event_buttonDecreaseCPSBy1ActionPerformed private void initLocalComponents() { this.fieldCodecBox.removeAllItems(); for(String s: _COMBO_BOX_VALUES) this.fieldCodecBox.addItem(s); this.dirLoadFileChooser.setCurrentDirectory(new File("./")); File wavFile = new File("target/audio/ulaw_13s.wav"); this.fieldAnnFileURL.setText(wavFile.toURI().toString()); } private void annTestActionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_annTestActionActionPerformed // TODO add your handling code here: try{ if(this.currentTest!=null) { this.currentTest.stop(true); } this.currentTest= new AnnouncementTest(); this.currentTest.setCallDisplay(this); this.buttonStartTest.setEnabled(true); }catch(Exception e) { } }//GEN-LAST:event_annTestActionActionPerformed private void fieldLoadedDataDisplayTableMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_fieldLoadedDataDisplayTableMouseClicked Long seq = (Long) this.fieldLoadedDataDisplayTable.getValueAt(this.fieldLoadedDataDisplayTable.getSelectedRow(), 0); AbstractCall callToDisplay = this.currentTest.getCallBySequence(seq); RtpTrafficDialog dialog = new RtpTrafficDialog(this.getFrame(), true, callToDisplay); dialog.setVisible(true); }//GEN-LAST:event_fieldLoadedDataDisplayTableMouseClicked private void fieldOngoingCallsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_fieldOngoingCallsActionPerformed // TODO add your handling code here: }//GEN-LAST:event_fieldOngoingCallsActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JLabel _labelCPS; private javax.swing.JLabel _labelCallDuration; private javax.swing.JLabel _labelCalls; private javax.swing.JLabel _labelClientAddress; private javax.swing.JLabel _labelClientPort; private javax.swing.JLabel _labelCodec; private javax.swing.JLabel _labelCompletedCalls; private javax.swing.JLabel _labelConcurrentCalls; private javax.swing.JLabel _labelDumpDir; private javax.swing.JLabel _labelErrorCalls; private javax.swing.JLabel _labelMaxCalls; private javax.swing.JLabel _labelMaxFailCalls; private javax.swing.JLabel _labelOngoingCalls; private javax.swing.JLabel _labelServerAddress; private javax.swing.JLabel _labelServerPort; private javax.swing.JMenuItem annTestAction; private javax.swing.JButton buttonDecreaseBy10; private javax.swing.JButton buttonDecreaseCPSBy1; private javax.swing.JButton buttonIncreaseCPSBy1; private javax.swing.JButton buttonIncreseDurrationBy10; private javax.swing.JButton buttonStartTest; private javax.swing.JButton buttonStopTest; private javax.swing.JPanel dataLoadPanel; private javax.swing.JPanel dataPanel; private javax.swing.JFileChooser dirLoadFileChooser; private javax.swing.JTextField fieldAnnFileURL; private javax.swing.JTextField fieldCPS; private javax.swing.JTextField fieldCallDurrationTextField; private javax.swing.JTextField fieldClientAddress; private javax.swing.JTextField fieldClientPort; private javax.swing.JComboBox fieldCodecBox; private javax.swing.JTextField fieldCompletedCalls; private javax.swing.JTextField fieldConcurrentCalls; private javax.swing.JTextField fieldDataDumpDir; private javax.swing.JTextField fieldFailedCalls; private javax.swing.JTable fieldLoadedDataDisplayTable; private javax.swing.JTextField fieldMaxCallNumber; private javax.swing.JTextField fieldMaxFailCalls; private javax.swing.JTextField fieldOngoingCalls; private javax.swing.JTextField fieldServerAddress; private javax.swing.JTextField fieldServerPort; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JSeparator jSeparator1; private javax.swing.JSeparator jSeparator2; private javax.swing.JSeparator jSeparator3; private javax.swing.JSeparator jSeparator4; private javax.swing.JLabel labelFileUrl; private javax.swing.JPanel mainPanel; private javax.swing.JMenuBar menuBar; private javax.swing.JProgressBar progressBar; private javax.swing.JLabel statusAnimationLabel; private javax.swing.JLabel statusMessageLabel; private javax.swing.JPanel statusPanel; private javax.swing.JPanel testSetupPanel; private javax.swing.JTabbedPane userDialogPanel; // End of variables declaration//GEN-END:variables private final Timer messageTimer; private final Timer busyIconTimer; private final Icon idleIcon; private final Icon[] busyIcons = new Icon[15]; private int busyIconIndex = 0; private JDialog aboutBox; //Some custom methods; private AbstractTestCase currentTest; private static Map<String,Vector<Attribute>> attributerMap = new HashMap<String,Vector<Attribute>>(); private static final String[] _COMBO_BOX_VALUES = new String[]{"ULAW","ALAW"}; static { SdpFactory sdpFactory = SdpFactory.getInstance(); Vector attributes = new Vector(); attributes.add(sdpFactory.createAttribute("rtpmap", "0 pcmu/8000")); attributerMap.put(_COMBO_BOX_VALUES[0],attributes); attributes = new Vector(); attributes.add(sdpFactory.createAttribute("rtpmap", "8 pcma/8000")); attributerMap.put(_COMBO_BOX_VALUES[1],attributes); // attributes = new Vector(); // attributes.add(sdpFactory.createAttribute("rtpmap", "Speex")); // attributerMap.put(_COMBO_BOX_VALUES[2],attributes); } public String getLocalAddress() { return this.fieldClientAddress.getText(); } public String getRemoteAddress() { return this.fieldServerAddress.getText(); } public int getLocalPort() { return Integer.valueOf(this.fieldClientPort.getText()); } public int getRemotePort() { return Integer.valueOf(this.fieldServerPort.getText()); } public long getCallDuration() { try{ return Long.valueOf(this.fieldCallDurrationTextField.getText()); }catch(NumberFormatException nfe) { nfe.printStackTrace(); return _DEFAULT_CALL_DURATION; } } public int getCPS() { try { return Integer.valueOf(this.fieldCPS.getText()); } catch (NumberFormatException nfe) { nfe.printStackTrace(); return _DEFAULT_CPS; } } public Vector<Attribute> getCodecs() { return attributerMap.get(this.fieldCodecBox.getSelectedItem()); } public int getMaxConcurrentCalls() { return Integer.valueOf(this.fieldConcurrentCalls.getText()); } public long getMaxCalls() { return Long.valueOf(this.fieldMaxCallNumber.getText()); } public int getMaxFailCalls() { return Integer.valueOf(this.fieldMaxFailCalls.getText()); } public void updateCallView() { JFrame fm = this.getFrame(); fm.invalidate(); if(this.currentTest!=null) { this.fieldOngoingCalls.setText(this.currentTest.getOngoingCallNumber()+""); this.fieldFailedCalls.setText(this.currentTest.getErrorCallNumber()+""); this.fieldCompletedCalls.setText(this.currentTest.getCompletedCallNumber()+""); } fm.validate(); } public File getDefaultDataDumpDirectory() { return new File(this.fieldDataDumpDir.getText()); } public String getFileURL() { return this.fieldAnnFileURL.getText(); } }