OntOperPmEthernetComplexView.java :  » App » learnandroid » com » lgnortel » r4 » r4equipment » management » ont » pm » oper » Android Open Source

Android Open Source » App » learnandroid 
learnandroid » com » lgnortel » r4 » r4equipment » management » ont » pm » oper » OntOperPmEthernetComplexView.java
package com.lgnortel.r4.r4equipment.management.ont.pm.oper;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.util.Map;
import java.util.logging.Level;

import javax.swing.BorderFactory;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

import com.lgnortel.lib.help.HelpTargetConst;
import com.lgnortel.netconf.wdmpon.Msp;
import com.lgnortel.netconf.wdmpon.OperOntInterfaceCountersEthernet;
import com.lgnortel.network.networkview.ErrorInspect;
import com.lgnortel.network.networkview.MessagePanel;
import com.lgnortel.network.networkview.User;
import com.lgnortel.r3.r3equipment.r3oam.HelpfulTextField;
import com.lgnortel.r4.r4equipment.common.ComplexViewParentIF;
import com.lgnortel.r4.r4equipment.common.DefaultManagementView;
import com.lgnortel.r4.r4equipment.common.ManagementGetIF;
import com.lgnortel.r4.r4equipment.common.ManagementHelpIF;
import com.lgnortel.r4.r4equipment.common.ManagementTableIF;
import com.lgnortel.r4.r4equipment.common.R4ClearButton;
import com.lgnortel.r4.r4equipment.common.R4CommonUtil;
import com.lgnortel.r4.r4equipment.common.R4HelpButton;
import com.lgnortel.r4.r4equipment.common.R4RefreshButton;
import com.lgnortel.r4.r4equipment.common.R4SplitTableViewForPm;
import com.lgnortel.r4.r4equipment.common.R4TableModel;
import com.lgnortel.r4.r4equipment.common.SimpleChildView;
import com.lgnortel.r4.r4equipment.management.ont.PonAccessOntModel;
import com.lgnortel.r4.r4equipment.management.ont.PonAccessOntView;
import com.lgnortel.r4.util.R4Constants;
import com.lgnortel.rmi.common.ClientManager;
import com.lgnortel.rmi.common.EmsCode;
import com.tailf.inm.Element;

/**
 * Copyright (c) 2009 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: PmEthernetComplexView.java<br>
 * Description: <br>
 * Copyright: Copyright(c) 2009 LG-NORTEL ALL Rights Reserved<br>
 * Company: LG-Nortel<br>
 * 
 * @author Jonghwa, Lee
 * @version 0.1
 * @created 2009. 9. 14.
 * @modified 2009. 9. 14.
 * @product EFA R4.0 EMS
 * @sw_block Client Block
 */
public class OntOperPmEthernetComplexView extends DefaultManagementView implements ManagementGetIF, ManagementHelpIF, ComplexViewParentIF {
  /**
   * 
   */
  private static final long serialVersionUID = 6980029855150185757L;
  private ManagementTableIF modelOperIfStats;
  private ManagementTableIF modelOperIfDetail;
  private ManagementTableIF modelOperIfErrors;

  private SimpleChildView pnlOperIfStats;
  private SimpleChildView pnlOperIfDetail;
  private SimpleChildView pnlOperIfErrors;
  private  PonAccessOntView pnlPon;
  
  Object[] resultData;
  private int viewId;
  private int neId;
  
  private JTextField tfName;
  private JComboBox cbPort;
  
  private ClientManager clientManager = ClientManager.getInstance();
  private User user = User.getInstance();

  private Element action;
  
  public OntOperPmEthernetComplexView(int neId, String title) {
    super();
    this.neId = neId;
    this.sTitle = title;
    initialize();
  }

  @Override
  protected JPanel createMainPanel() {
    controller = new PonAccessOntModel();
    modelOperIfStats = new OntOperPmEthernetStatsModel();
    modelOperIfDetail = new OntOperPmEthernetDetailModel();
    modelOperIfErrors = new OntOperPmEthernetErrorsModel();
    
    pnlPon = new PonAccessOntView("PON Access ONT", controller, this, neId);
    
    pnlOperIfStats = new R4SplitTableViewForPm("Show Ethernet", modelOperIfStats, 3);
    pnlOperIfDetail = new R4SplitTableViewForPm("Show Ethernet Detail", modelOperIfDetail, 3);
    pnlOperIfErrors = new R4SplitTableViewForPm("Show Ethernet Error", modelOperIfErrors, 3);
    
    JPanel panel = new JPanel();
    panel.setLayout(new GridBagLayout());
    panel.add(pnlPon, new GridBagConstraints(1, 1, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(1, 1, 1, 1), 0, 0));
    panel.add(pnlOperIfStats, new GridBagConstraints(1, 2, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(1, 1, 1, 1), 0, 0));
    panel.add(pnlOperIfDetail, new GridBagConstraints(1, 3, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(1, 1, 1, 1), 0, 0));
    panel.add(pnlOperIfErrors, new GridBagConstraints(1, 4, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(1, 1, 1, 1), 0, 0));

    return panel;
  }
  
  protected JPanel createResultPanel() {
    btnHelp = new R4HelpButton();
    btnHelp.addActionListener(handler);
    
    btnRefresh = new R4RefreshButton();
    btnRefresh.addActionListener(handler);
    
    pnlResult = new MessagePanel(this);
    pnlResult.setBorder(null);

    btnSet = new R4ClearButton();
    btnSet.addActionListener(handler);

    if (User.getInstance().getUserGrp() == User.MONITOR) {
      btnSet.setEnabled(false);
    }

    JLabel lblName = new JLabel("name");
    lblName.setToolTipText("name : letter or digit, 1~39");
    
    JLabel lblPort = new JLabel("port");
    lblPort.setToolTipText("ont-portid : 1, 2, 3, 4, 101, 102");
    
    tfName = new HelpfulTextField(39, true);
    tfName.setPreferredSize(new Dimension(80, 25));
    
    cbPort = new JComboBox(R4Constants.ONT_PORT);
    cbPort.setBackground(Color.WHITE);
    cbPort.setPreferredSize(new Dimension(80, 25));
    
    JPanel pnlClear = new JPanel();
    pnlClear.setLayout(new GridBagLayout());
    pnlClear.setBorder(BorderFactory.createEtchedBorder());
    pnlClear.add(lblName, new GridBagConstraints(1, 1, 1, 1, 1.0, 1.0, GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(1, 1, 1, 1), 0, 0));
    pnlClear.add(tfName, new GridBagConstraints(2, 1, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(1, 1, 1, 1), 0, 0));
    pnlClear.add(lblPort, new GridBagConstraints(3, 1, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(1, 10, 1, 1), 0, 0));
    pnlClear.add(cbPort, new GridBagConstraints(4, 1, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(1, 1, 1, 1), 0, 0));
    pnlClear.add(btnSet, new GridBagConstraints(7, 1, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(1, 1, 1, 1), 0, 0));
    
    JPanel panel = new JPanel();
    panel.setLayout(new GridBagLayout());
    panel.add(pnlClear, new GridBagConstraints(1, 1, 3, 1, 1.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(1, 1, 5, 1), 0, 0));
    panel.add(pnlResult, new GridBagConstraints(1, 2, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(1, 1, 1, 10), 0, 0));
    panel.add(btnHelp, new GridBagConstraints(2, 2, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(1, 1, 1, 1), 0, 0));
    panel.add(btnRefresh, new GridBagConstraints(3, 2, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(1, 1, 1, 1), 0, 0));
    return panel;
  }

  public void requestIntializeCmd() {
    pnlPon.get();
  }
  
  @Override
  public void get() {
    Map<String, Object> key = pnlPon.getSelectedRowKey();
    if (!R4CommonUtil.isEmptyMap(key)) {
      refreshComplexChildView(key);
    }
  }

  // clear
  @Override
  protected void set() {
    String name = tfName.getText();
    String port = cbPort.getSelectedItem().toString();
    if (R4CommonUtil.displayQuestionDialog(this, sTitle, "Do you want to clear?")) {
      action = ((OntOperPmEthernetStatsModel)modelOperIfStats).requestStatistics(viewId, neId, name, port);      
    }
  }

  @Override
  public boolean cmdResponse(int viewId, int userId, int nodeId, int cmdCode, Object[] data, int result, String errMessage) {
    resultData = data;
    if (!pnlPon.cmdResponse(viewId, userId, nodeId, cmdCode, data, result, errMessage)) {
      if (EmsCode.NETCONF_GETFILTER == cmdCode) {
        pnlOperIfDetail.cmdResponse(viewId, userId, nodeId, cmdCode, data, result, errMessage);
        pnlOperIfErrors.cmdResponse(viewId, userId, nodeId, cmdCode, data, result, errMessage);
        pnlOperIfStats.cmdResponse(viewId, userId, nodeId, cmdCode, data, result, errMessage);
        
        R4TableModel modelDetail = pnlOperIfDetail.getModel();
        R4TableModel modelError = pnlOperIfErrors.getModel();
        R4TableModel modelStats = pnlOperIfStats.getModel();
        if (modelDetail.getRowCount() == 0 && modelError.getRowCount() == 0 && modelStats.getRowCount() == 0) {
          pnlResult.updateMessage("No data...");
        } else {
          pnlResult.updateMessage(errMessage);
        }
        
      } else if (EmsCode.NETCONF_ACTION == cmdCode) {
        Element filter = (Element) data[0];
        if (!R4CommonUtil.isEquals(filter, action)) {
          return false;
        }
        
        if (ErrorInspect.SUCCESS == result) {
          refreshComplexChildView(pnlPon.getSelectedRowKey());
        }  
        
        pnlResult.updateMessage(errMessage);
      }
    }

    return true;
  }

  @Override
  public Msp getFilter() {
    Msp filter = new Msp();
    try {
      filter.addOper().addOntInterfaceCounters().addEthernet();
    } catch (Exception e) {
      logger.log(Level.SEVERE, "Exception", e);
    }

    return filter;
  }

  @Override
  public String getHelpFilePath() {
    return HelpTargetConst.R4_ONT_PM_ETHERNET;
  }

  @Override
  public void setViewId(int viewId) {
    this.viewId = viewId;
    pnlPon.setViewId(viewId);
  }

  @Override
  public void arrangeTableInfo() {
    // to do nothing.
  }

  @Override
  public void refreshComplexChildView(Map<String, Object> key) {
    Msp filter = new Msp();
    try {
      Object value = key.get(R4Constants.PON_ACCESS_ONT_KEY_NAME);
      String name = value == null ? "" : value.toString();
      
      OperOntInterfaceCountersEthernet  ontInterfaceCountersEthernet = new OperOntInterfaceCountersEthernet ();
      ontInterfaceCountersEthernet.addStats(name);
      ontInterfaceCountersEthernet.addDetail(name);
      ontInterfaceCountersEthernet.addErrors(name);
      
      filter.addOper().addOntInterfaceCounters().addEthernet(ontInterfaceCountersEthernet);
      Object[] data = new Object[1];
      data[0] = filter;
      clientManager.cmdRequest(viewId, user.getUserId(), neId, 0, EmsCode.NETCONF_GETFILTER, data, "");
      selectedRowKey = key;
      tfName.setText(name);
    } catch (Exception e) {
      logger.log(Level.SEVERE, "Exception", e);
    }
  }

  @Override
  public void removeAllChildInfo() {
    // to do nothing.
  }

  @Override
  public void removeKey(Map<String, Object> key) {
    pnlOperIfDetail.clearTable();
    pnlOperIfErrors.clearTable();
    pnlOperIfStats.clearTable();
  }
}
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.