CmdPimNeighborView.java :  » App » learnandroid » com » lgnortel » r3 » r3equipment » r3l3 » Android Open Source

Android Open Source » App » learnandroid 
learnandroid » com » lgnortel » r3 » r3equipment » r3l3 » CmdPimNeighborView.java
package com.lgnortel.r3.r3equipment.r3l3;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Vector;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.SwingConstants;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableColumn;

import com.lgnortel.lib.print.Preview;
import com.lgnortel.lib.print.PrintUtilities;
import com.lgnortel.lib.table.CommonTableModel;
import com.lgnortel.lib.table.HeaderButtonRenderer;
import com.lgnortel.lib.table.SortFilterModel;
import com.lgnortel.lib.view.EmsSwingSet;
import com.lgnortel.network.networkview.ErrorInspect;
import com.lgnortel.network.networkview.HelpView;
import com.lgnortel.network.networkview.MessagePanel;
import com.lgnortel.network.networkview.User;
import com.lgnortel.platform.db.DBDataDesc;
import com.lgnortel.platform.model.LabelMenuMgr;
import com.lgnortel.platform.model.Language;
import com.lgnortel.r3.r3equipment.r3shelf.ShelfViewController;
import com.lgnortel.r3.r3rmi.NeL3IF;
import com.lgnortel.rmi.common.ClientManager;
import com.lgnortel.rmi.common.DBSupporter;
import com.lgnortel.rmi.common.EmsCode;

/**
 * Copyright (c) 2008 LG-Nortel, Inc. All Rights Reserved.
 * 
 * CONFIDENTIALITY AND LIMITED USE: This software, including any software of <br>
 * third parties embodied herein, contains code, information, data and concepts <br>
 * which are confidential and/or proprietary to LG-Nortel and such third <br>
 * parties. This software is licensed for use solely in accordance with the <br>
 * terms and conditions of the applicable license agreement with LG-Nortel or <br>
 * its authorized distributor, and not for any other use or purpose. No <br>
 * redistribution of this software by any party is permitted. <br>
 * 
 * Title: CmdPimNeighborView.java<br>
 * Description: PIM Neighbor in the PIM-SM function of PIM-SM submenu in Multicast Menu in Equipment View <br> 
 * Copyright: Copyright(c) 2008 LG-NORTEL ALL Rights Reserved<br>
 * Company: LG-Nortel<br>
 * 
 * @author kim sang hee
 * @version 0.1
 * @created 2009. 1. 22.
 * @modified 2009. 1. 22.
 * @product EFA4.0 EMS
 * @sw_block client block
 */

public class CmdPimNeighborView extends JPanel {
  /**
   * 
   */
  private static final long serialVersionUID = 1L;
  private JPanel pnlMain = null;
  private JPanel pnlBtn = null;
  MessagePanel pnlResult = null;

  private JButton btnGet = null;
  private JButton btnHelp = null;
  private JButton btnPrint = null;

  // table
  private JScrollPane spnPim = null;
  private JTable tblPim = new JTable();
  private SortFilterModel modelPim = null;

  HelpView helpView = null;

  int viewId;
  int neId;
  int shelfId;

  LabelMenuMgr labelMenuMgr = LabelMenuMgr.getInstance();
  DBSupporter dbSupporter = DBSupporter.getInstance();

  private ImageIcon btnViewImg = new ImageIcon(getClass().getClassLoader().getResource("image/btnView.gif"));
  private ImageIcon btnViewImgOver = new ImageIcon(getClass().getClassLoader().getResource("image/btnViewOver.gif"));
  private ImageIcon btnPrintImg = new ImageIcon(getClass().getClassLoader().getResource("image/btnPrint.gif"));
  private ImageIcon btnPrintImgOver = new ImageIcon(getClass().getClassLoader().getResource("image/btnPrintOver.gif"));

  private ImageIcon btnViewEngImg = new ImageIcon(getClass().getClassLoader().getResource("image/btnViewEng.gif"));
  private ImageIcon btnViewEngImgOver = new ImageIcon(getClass().getClassLoader().getResource("image/btnViewEngOver.gif"));
  private ImageIcon btnPrintEngImg = new ImageIcon(getClass().getClassLoader().getResource("image/btnPrintEng.gif"));
  private ImageIcon btnPrintEngImgOver = new ImageIcon(getClass().getClassLoader().getResource("image/btnPrintEngOver.gif"));

  /**
   * the constructor.
   * 
   * @param neId
   *            the node id.
   * @param shelfId
   *            the shelf id.
   */

  public CmdPimNeighborView(int neId, int shelfId) {

    try {
      this.neId = neId;
      this.shelfId = shelfId;
      jbInit();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }

  /**
   * set the view id.
   * 
   * @param lViewId
   *            the view id.
   */

  public void setViewId(int lViewId) {
    this.viewId = lViewId;
  }

  /**
   * get the view id.
   * 
   * @return a int value for view id.
   */

  public int getViewId() {
    return viewId;
  }

  private void jbInit() throws Exception {

    btnGet = new JButton();
    btnGet.setFont(new java.awt.Font("Dialog", 0, 12));
    btnGet.setPreferredSize(new Dimension(80, 25));
    btnGet.setMinimumSize(new Dimension(80, 25));
    btnGet.setMaximumSize(new Dimension(80, 25));
    btnGet.addActionListener(eventHandler);
    if (Language.selectedLanguage == Language.KOREAN) {
      btnGet.setIcon(btnViewImg);
      btnGet.setRolloverIcon(btnViewImgOver);
    } else {
      btnGet.setIcon(btnViewEngImg);
      btnGet.setRolloverIcon(btnViewEngImgOver);
    }

    ImageIcon helpIcon = new ImageIcon(getClass().getClassLoader().getResource("image/helpButton.gif"));
    btnHelp = new JButton(null, helpIcon);
    btnHelp.setFont(new java.awt.Font("Dialog", 0, 12));
    btnHelp.setPreferredSize(new Dimension(25, 25));
    btnHelp.setMinimumSize(new Dimension(25, 25));
    btnHelp.setMaximumSize(new Dimension(25, 25));
    btnHelp.addActionListener(eventHandler);

    btnPrint = new JButton();
    btnPrint.setFont(new java.awt.Font("Dialog", 0, 12));
    btnPrint.setPreferredSize(new Dimension(80, 25));
    btnPrint.setMinimumSize(new Dimension(80, 25));
    btnPrint.setMaximumSize(new Dimension(80, 25));
    btnPrint.addActionListener(eventHandler);
    if (Language.selectedLanguage == Language.KOREAN) {
      btnPrint.setIcon(btnPrintImg);
      btnPrint.setRolloverIcon(btnPrintImgOver);
    } else {
      btnPrint.setIcon(btnPrintEngImg);
      btnPrint.setRolloverIcon(btnPrintEngImgOver);
    }

    spnPim = new JScrollPane();
    init_tblPim();
    spnPim.setViewportView(tblPim);

    pnlResult = new MessagePanel(this);
    pnlResult.setBorder(null);

    pnlBtn = new JPanel();
    pnlBtn.setLayout(new GridBagLayout());
    pnlBtn.setBorder(EmsSwingSet.createMatteBorder(labelMenuMgr.getLabel("RESULT")));
    pnlBtn.add(pnlResult, new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.BOTH, new Insets(1, 1, 1, 1), 0, 0));
    pnlBtn.add(btnHelp, new GridBagConstraints(3, 1, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(1, 1, 1, 1), 0, 0));

    pnlMain = new JPanel();
    pnlMain.setLayout(new GridBagLayout());
    pnlMain.setBorder(EmsSwingSet.createMatteBorder(labelMenuMgr.getMenu("PIM_NEIGHBOR") + " " + labelMenuMgr.getLabel("VIEW")));
    pnlMain.add(spnPim, new GridBagConstraints(1, 1, 2, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(1, 1, 1, 1), 0, 0));
    pnlMain.add(btnGet, new GridBagConstraints(1, 2, 1, 1, 1.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(1, 1, 1, 1), 0, 0));
    pnlMain.add(btnPrint, new GridBagConstraints(2, 2, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(1, 1, 1, 1), 0, 0));

    this.setLayout(new GridBagLayout());
    this.add(pnlMain, new GridBagConstraints(1, 1, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(1, 1, 1, 1), 0, 0));
    this.add(pnlBtn, new GridBagConstraints(1, 2, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(1, 1, 1, 1), 0, 0));

    initialize();
  }

  /**
   * initialize the table.
   */

  public void init_tblPim() {
    Vector<Object> columnInfo = new Vector<Object>();
    columnInfo.addElement("Neighbor Address");
    columnInfo.addElement("Interface Name");
    columnInfo.addElement("UpTime / Expires");
    columnInfo.addElement("Version");
    columnInfo.addElement("DR Priority / Mode");

    CommonTableModel commonTableModel = new CommonTableModel(columnInfo);
    modelPim = new SortFilterModel(commonTableModel);

    HeaderButtonRenderer headerButtonRenderer = new HeaderButtonRenderer();
    headerButtonRenderer.setFont(new java.awt.Font("Dialog", 0, 12));

    modelPim.addMouseListener(tblPim, headerButtonRenderer);

    tblPim.setModel(modelPim);
    tblPim.setBackground(Color.white);
    // tblPim.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

    tblPim.setSelectionBackground(new Color(204, 204, 255));

    tblPim.addMouseListener(new MouseAdapter() {
      public void mousePressed(MouseEvent e) {
        if (e.getClickCount() == 1) {
          int s = getSelectPim();
          setPimInfo(s);
        }
      };
    });

    tblPim.addKeyListener(new KeyAdapter() {
      public void keyReleased(KeyEvent ek) {
        if (ek.getKeyCode() == KeyEvent.VK_UP || ek.getKeyCode() == KeyEvent.VK_DOWN || ek.getKeyCode() == KeyEvent.VK_KP_UP || ek.getKeyCode() == KeyEvent.VK_KP_DOWN || ek.getKeyCode() == KeyEvent.VK_PAGE_UP || ek.getKeyCode() == KeyEvent.VK_PAGE_DOWN) {
          int s = getSelectPim();
          setPimInfo(s);
        }
      };
    });

    DefaultTableCellRenderer renderer_center = new DefaultTableCellRenderer();
    renderer_center.setHorizontalAlignment(SwingConstants.CENTER);

    DefaultTableCellRenderer renderer_left = new DefaultTableCellRenderer();
    renderer_left.setHorizontalAlignment(SwingConstants.LEFT);

    int columnSize = modelPim.getColumnCount();
    for (int i = 0; i < columnSize; i++) {
      TableColumn tableColumn = tblPim.getColumnModel().getColumn(i);
      tableColumn.setHeaderRenderer(headerButtonRenderer);
      tableColumn.setCellRenderer(renderer_center);
    }

    tblPim.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
  }

  /**
   * Request Information
   */
  public void getNeighbor() {
    ClientManager clientMgr = ClientManager.getInstance();
    User user = User.getInstance();

    NeL3IF.RtrvPimNeighborIF[] data = new NeL3IF.RtrvPimNeighborIF[1];
    data[0] = new NeL3IF.RtrvPimNeighborIF();

    data[0].nodeId = neId;
    data[0].shelfId = shelfId;
    data[0].slotId = DBDataDesc.SLOT_SWU;
    data[0].sysType = DBDataDesc.SYSTYPE_OLT;

    String cmdStr = "";

    clientMgr.cmdRequest(getViewId(), user.getUserId(), neId, data[0].shelfId, EmsCode.CMD_RTRV_PIM_NEIGHBOR, data, cmdStr);
    btnGet.setEnabled(false);
  }

  /**
   * the response method.
   * 
   * @param viewId
   *            the view id.
   * @param userId
   *            the user id.
   * @param nodeId
   *            the node id.
   * @param cmdCode
   *            the command code.
   * @param data
   *            the Object array for the data.
   * @param result
   *            the int value about the result.
   * @return the true if call the method.
   */

  public boolean cmdResponse(int viewId, int userId, int nodeId, int cmdCode, Object[] data, int result) {

    if (cmdCode == EmsCode.CMD_RTRV_PIM_NEIGHBOR) {
      Vector<Vector<Object>> _vPimData = new Vector<Vector<Object>>();
      modelPim.setData(_vPimData);
      modelPim.fireTableDataChanged();
      pnlResult.updateMessage(ErrorInspect.getErrorMessage(result), data);
      btnGet.setEnabled(true);
    } else {
      pnlResult.updateMessage(ErrorInspect.getErrorMessage(result));
    }

    if (result == ErrorInspect.SUCCESS || result == ErrorInspect.NO_DATA) {
      if (cmdCode == EmsCode.CMD_RTRV_PIM_NEIGHBOR) {
        refreshPim((NeL3IF.RtrvPimNeighborIF[]) data, result);
      }
    }

    return true;
  }

  /**
   * Refresh Table
   * 
   * @param data
   *            :RtrvPimNeighborIF data
   * @param result
   *            : the int value about the result.
   */

  private void refreshPim(NeL3IF.RtrvPimNeighborIF[] data, int result) {

    if (data == null || result == ErrorInspect.NO_DATA) {
    } else {
      Vector<Vector<Object>> vPimData = new Vector<Vector<Object>>();

      for (int i = 0; i < data.length; i++) {
        Vector<Object> oneRow = new Vector<Object>();

        oneRow.addElement(data[i].neighborAddr); // 0
        oneRow.addElement(data[i].ifName); // 1
        oneRow.addElement(data[i].uptimeExpires); // 4
        oneRow.addElement(data[i].ver); // 2
        oneRow.addElement(data[i].drPriMode); // 3

        vPimData.addElement(oneRow);
      }
      modelPim.setData(vPimData);
      modelPim.fireTableDataChanged();
    }
  }

  /**
   * get Table Row
   * 
   * @return table Row value
   */

  public int getSelectPim() {
    int nPimRow = tblPim.getSelectedRow();

    return nPimRow;
  }

  /**
   * set Detail Information
   * 
   * @param c
   *            :table row vlaue
   */

  public void setPimInfo(int c) {
    if (c < 0) {
      return;
    }
  }

  private void help() {
    helpView = HelpView.getInstance(ShelfViewController.DIALOG_PIM_NEIGHBOR);
    helpView.setVisible(true);
  }

  private void print() {
    new Preview(new PrintUtilities(tblPim), "PIM_NEIGHBOR_VIEW");
  }

  IvjEventHandler eventHandler = new IvjEventHandler();

  /**
   * 
   * Title: CmdPimNeighborView.java<br>
   * Description: Evnet Handler Class <br>
   * Copyright: Copyright(c) 2008 LG-NORTEL ALL Rights Reserved<br>
   * Company: LG-Nortel<br>
   * 
   * @author kim sang hee
   * @version 0.1
   * @created 2009. 1. 22.
   * @modified 2009. 1. 22.
   * @product EFA4.0 EMS
   * @sw_block client block
   */
  class IvjEventHandler implements java.awt.event.ActionListener {
    public void actionPerformed(ActionEvent e) {
      java.lang.Object src = e.getSource();
      if (src == btnHelp) {
        help();
      } else if (src == btnGet) {
        getNeighbor();
      } else if (src == btnPrint) {
        print();
      }
    }
  }

  private void initialize() {
    try {
      setLocation(0, 0);
    } catch (java.lang.Throwable ivjExc) {
      handleException(ivjExc);
    }
  }

  private void handleException(java.lang.Throwable exception) {
    System.out.println("--------------------- Exception ---------------------");
  }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.