import java.util.HashMap; import javax.swing.ImageIcon; import javax.swing.table.DefaultTableModel; import org.apache.commons.io.FilenameUtils; /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ /** * * @author boccioli_m */ public class TestingListDetails extends javax.swing.JPanel { /** * Creates new form TestingListDetails */ public TestingListDetails() { initComponents(); } public TestingListDetails(HashMap hDetails) { initComponents(); fillComponents(hDetails); } /** * 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. */ @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { jLabel1 = new javax.swing.JLabel(); txtDeviceName = new javax.swing.JTextField(); jLabel2 = new javax.swing.JLabel(); txtDeviceDescription = new javax.swing.JTextField(); jLabel4 = new javax.swing.JLabel(); txtTestSuite = new javax.swing.JTextField(); jLabel5 = new javax.swing.JLabel(); txtTestName = new javax.swing.JTextField(); jLabel6 = new javax.swing.JLabel(); jScrollPane1 = new javax.swing.JScrollPane(); jTableParams = new javax.swing.JTable(); jLabel7 = new javax.swing.JLabel(); cmCancel = new javax.swing.JButton(); cmOk = new javax.swing.JButton(); cmDefault = new javax.swing.JButton(); jScrollPane2 = new javax.swing.JScrollPane(); txtTestResult = new javax.swing.JTextArea(); jLabel8 = new javax.swing.JLabel(); jScrollPane3 = new javax.swing.JScrollPane(); txtTestDescription = new javax.swing.JTextArea(); jLabel1.setText("Device name"); txtDeviceName.setEditable(false); txtDeviceName.setText("jTextField1"); jLabel2.setText("Device Description"); txtDeviceDescription.setEditable(false); txtDeviceDescription.setText("jTextField2"); jLabel4.setText("Test Case/Suite"); txtTestSuite.setEditable(false); txtTestSuite.setText("jTextField2"); jLabel5.setText("Test Name"); txtTestName.setEditable(false); txtTestName.setText("jTextField2"); jLabel6.setText("Last Test Result"); jTableParams.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { }, new String [] { "Parameter", "Value", "Description" } ) { boolean[] canEdit = new boolean [] { false, true, false }; public boolean isCellEditable(int rowIndex, int columnIndex) { return canEdit [columnIndex]; } }); jTableParams.setDragEnabled(true); jScrollPane1.setViewportView(jTableParams); if (jTableParams.getColumnModel().getColumnCount() > 0) { jTableParams.getColumnModel().getColumn(0).setMinWidth(150); jTableParams.getColumnModel().getColumn(0).setPreferredWidth(150); jTableParams.getColumnModel().getColumn(0).setMaxWidth(150); jTableParams.getColumnModel().getColumn(1).setPreferredWidth(80); jTableParams.getColumnModel().getColumn(1).setMaxWidth(100); } jLabel7.setText("Test Parameters"); cmCancel.setText("Cancel"); this.cmCancel.setVisible(false); this.cmOk.setVisible(false); cmCancel.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cmCancelActionPerformed(evt); } }); cmOk.setText("Ok"); this.cmCancel.setVisible(false); this.cmOk.setVisible(false); cmDefault.setText("Save as Default"); this.cmCancel.setVisible(false); this.cmOk.setVisible(false); this.cmDefault.setVisible(false); txtTestResult.setEditable(false); txtTestResult.setColumns(20); txtTestResult.setLineWrap(true); txtTestResult.setRows(5); jScrollPane2.setViewportView(txtTestResult); jLabel8.setText("Test Description"); txtTestDescription.setEditable(false); txtTestDescription.setColumns(20); txtTestDescription.setLineWrap(true); txtTestDescription.setRows(5); jScrollPane3.setViewportView(txtTestDescription); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(427, 427, 427)) .addGroup(layout.createSequentialGroup() .addComponent(jLabel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(383, 383, 383)) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addComponent(jLabel7) .addComponent(jLabel6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jLabel8, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(txtDeviceName) .addComponent(txtDeviceDescription) .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 673, Short.MAX_VALUE) .addComponent(txtTestSuite) .addComponent(txtTestName, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jScrollPane3) .addComponent(jScrollPane2) .addGroup(layout.createSequentialGroup() .addComponent(cmDefault, javax.swing.GroupLayout.PREFERRED_SIZE, 132, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(cmOk, javax.swing.GroupLayout.PREFERRED_SIZE, 96, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(cmCancel, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap(21, Short.MAX_VALUE)))) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(txtDeviceName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel2) .addComponent(txtDeviceDescription, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel4) .addComponent(txtTestSuite, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel5) .addComponent(txtTestName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel8) .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 79, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel6)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 188, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel7)) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(cmDefault, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(78, 78, 78)) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) .addComponent(cmOk, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(cmCancel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) ); }// //GEN-END:initComponents private void fillComponents(HashMap hDetails) { this.txtDeviceName.setText(hDetails.get("deviceName").toString()); this.txtDeviceDescription.setText(hDetails.get("deviceDescription").toString()); this.txtTestDescription.setText(hDetails.get("testDescription").toString()); this.txtTestSuite.setText(hDetails.get("testSuite").toString()); this.txtTestName.setText(hDetails.get("testName").toString()); this.txtTestResult.setText(hDetails.get("time").toString() + "\n" + hDetails.get("testResult").toString()); //parameters table HashMap hParams = (HashMap) hDetails.get("parameters"); String name="", value="", description=""; DefaultTableModel model = (DefaultTableModel) jTableParams.getModel(); for(Object entry : hParams.keySet()){ Object param = entry; if(param instanceof String){ name = (String) param; HashMap attributes = (HashMap) hParams.get(param); value = (String) attributes.get("value"); description = (String) attributes.get("description"); model.addRow(new Object[]{name, value, description}); } jTableParams.setModel(model); } } private void cmCancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmCancelActionPerformed }//GEN-LAST:event_cmCancelActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton cmCancel; private javax.swing.JButton cmDefault; private javax.swing.JButton cmOk; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; private javax.swing.JLabel jLabel7; private javax.swing.JLabel jLabel8; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JScrollPane jScrollPane2; private javax.swing.JScrollPane jScrollPane3; private javax.swing.JTable jTableParams; private javax.swing.JTextField txtDeviceDescription; private javax.swing.JTextField txtDeviceName; private javax.swing.JTextArea txtTestDescription; private javax.swing.JTextField txtTestName; private javax.swing.JTextArea txtTestResult; private javax.swing.JTextField txtTestSuite; // End of variables declaration//GEN-END:variables }