Package org.jsmdr.testparsersui

Source Code of org.jsmdr.testparsersui.ParserTestPanel$CDRTableModel

package org.jsmdr.testparsersui;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;

import java.text.DateFormat;


import javax.swing.BorderFactory;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.SpringLayout;
import javax.swing.table.AbstractTableModel;

import org.jsmdr.base.AttributeType;
import org.jsmdr.base.CDR;

public class ParserTestPanel extends JPanel {
  JLabel fileLbl;
  JTextField fileFld;
  JButton fileBtn;
 
  JLabel parserLbl;
  JTextField parserFld;
  JButton loadParserBtn;
 
  JList cdrList;
  JTable cdrTable;
  CDRTableModel tableModel;
  DefaultListModel listModel;
 
  public ParserTestPanel() {
    fileLbl = new JLabel("File");
    fileFld = new JTextField("None");
    fileFld.setPreferredSize(new Dimension(150,23));
    fileBtn = new JButton("Load File");
   
    parserLbl = new JLabel("Parser");
    parserFld = new JTextField("None");
    parserFld.setPreferredSize(new Dimension(150,23));
    loadParserBtn = new JButton("Load Parser");
   
    JPanel topPanel = new JPanel(new FlowLayout());
    JPanel buttonPanel = new JPanel(new SpringLayout());
    buttonPanel.add(fileLbl);
    buttonPanel.add(fileFld);
    buttonPanel.add(fileBtn);
    buttonPanel.add(parserLbl);
    buttonPanel.add(parserFld);
    buttonPanel.add(loadParserBtn);
    org.jsmdr.configui.base.SpringUtilities.makeCompactGrid(buttonPanel,
        2, 3, //rows, cols
        10, 10,        //initX, initY
        10, 10);
    buttonPanel.setBorder(BorderFactory.createTitledBorder("Select Items to test"));
    topPanel.add(buttonPanel);
   
    listModel = new DefaultListModel();
    cdrList = new JList(listModel);
    tableModel = new CDRTableModel();
    cdrTable = new JTable(tableModel);
   
    JPanel listPanel = new JPanel(new BorderLayout());
    listPanel.setBorder(BorderFactory.createEmptyBorder(10,20,10,20));
    JScrollPane scrollPane = new JScrollPane();
    scrollPane.getViewport().add( cdrList );
    listPanel.add(scrollPane, BorderLayout.CENTER);
   
    JPanel tablePanel = new JPanel(new BorderLayout());
    JScrollPane sPane = new JScrollPane(cdrTable);
    cdrTable.setPreferredScrollableViewportSize(new Dimension(500,50));

   
    tablePanel.add(sPane, BorderLayout.CENTER);
    tablePanel.setBorder(BorderFactory.createEmptyBorder(10,20,10,20));
   
    this.setLayout(new BorderLayout());
    this.add(topPanel, BorderLayout.NORTH);
    this.add(listPanel, BorderLayout.CENTER);
    this.add(tablePanel, BorderLayout.SOUTH);
  }
 
  public void setCDR(CDR cdr) {
    tableModel.setCDR(cdr);
  }
 
  class CDRTableModel extends AbstractTableModel {

    private static final long serialVersionUID = 8265027226641372846L;
   
    CDR cdr;
    String[] attributeNames;
    CDRTableModel() {
      attributeNames = AttributeType.getNames();
      System.out.println("AttributeNames.length="+ attributeNames.length);
    }
   
    public void setCDR(CDR aCDR) {
      cdr = aCDR;
      fireTableDataChanged();
    }   
   
        public int getColumnCount() { return attributeNames.length; }
        public int getRowCount() { return 1;}
        public String getColumnName(int col) {
          return attributeNames[col];
        }
        public Object getValueAt(int row, int col) {
          String val = "";
          if (cdr == null)
            return val;
         
          switch(col) {
          case 0:
            if (cdr.getDateTimeAnswered() == null)
              val = "null";
            else
              val= DateFormat.getDateInstance().format(
                cdr.getDateTimeAnswered());
            break;
          case 1:
               if (cdr.getDateTimeAnswered() == null)
              val = "null";
            else
              val = DateFormat.getTimeInstance().format(
                cdr.getDateTimeAnswered());
            break;
          case 2:
            if (cdr.getCallType() == null)
              val = "null";
            else
              val = cdr.getCallType().toString();
            break;
          case 3:
            if (cdr.getExtensionID() == null)
              val = "null";
            else
              val = cdr.getExtensionID();
            break;
          case 4:
            if (cdr.getDestinationOrCallID() == null)
              val = "null";
            else
              val = cdr.getDestinationOrCallID();
            break;
          case 5:
            val = Integer.toString(cdr.getDurationAnswered());
            break;

          }
          return val;
        }
  }
}
TOP

Related Classes of org.jsmdr.testparsersui.ParserTestPanel$CDRTableModel

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.