// /*
// File: NetTop.java ; This file is part of Twister.
// Version: 2.001
//
// Copyright (C) 2012-2013 , Luxoft
//
// Authors: Andrei Costachi <acostachi@luxoft.com>
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// */
// import javax.swing.JPanel;
// import java.awt.Color;
// import java.awt.Dimension;
// import java.awt.Graphics;
// import java.awt.BasicStroke;
// import java.awt.Graphics2D;
// import java.awt.Color;
// import java.awt.Font;
// import javax.swing.JLabel;
// import javax.swing.ImageIcon;
// // import org.apache.xmlrpc.client.XmlRpcClient;
// // import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
// import java.net.URL;
// import java.util.Random;
//
// public class NetTop extends JPanel{
// private String upper = "x";
// private JPanel info;
// private JLabel switch1 = new JLabel(" Switch1",new ImageIcon(Repository.switche2),JLabel.RIGHT);
// private JLabel switch2 = new JLabel(" Switch2",new ImageIcon(Repository.switche2),JLabel.RIGHT);
// private JLabel bar = new JLabel(new ImageIcon(Repository.baricon));
// private SwitchInfo info1,info2,info3,info21,info22,info23;
//
// public NetTop(int width, int height){
// setLayout(null);
// setBackground(Color.WHITE);
// setPreferredSize(new Dimension(1450, 600));
// info = new JPanel();
// info.setBounds(1080, 10, 430, 600);
// info.setBackground(Color.WHITE);
// add(info);
// info.setLayout(null);
//
// switch1.setFont(new Font("TimesRoman", Font.BOLD, 14));
// switch1.setBounds(10,5,250,20);
// info.add(switch1);
//
// bar.setBounds(0,260,325,20);
// info.add(bar);
//
// switch2.setFont(new Font("TimesRoman", Font.BOLD, 14));
// switch2.setBounds(10,295,250,20);
// info.add(switch2);
//
// info1 = new SwitchInfo();
// info1.setBounds(0,25,410,75);
// info.add(info1);
// info1.setIngressport("8");
// info1.setAction("output");
// info1.setOutputPort("18");
// info1.setRxpackets("1028");
// info1.setTxpackets("367");
// info1.setBitrate("4300 ");
// info2 = new SwitchInfo();
// info2.setBounds(0,95,410,75);
// info.add(info2);
// info2.setIngressport("18");
// info2.setAction("output");
// info2.setOutputPort("18");
// info2.setRxpackets("1028");
// info2.setTxpackets("367");
// info2.setBitrate("4300 ");
// info3 = new SwitchInfo();
// info3.setBounds(0,165,410,75);
// info.add(info3);
// info3.setIngressport("34");
// info3.setAction("output");
// info3.setOutputPort("18");
// info3.setRxpackets("1028");
// info3.setTxpackets("367");
// info3.setBitrate("4300 ");
//
// info21 = new SwitchInfo();
// info21.setBounds(0,315,410,75);
// info.add(info21);
// info21.setIngressport("8");
// info21.setAction("output");
// info21.setOutputPort("18");
// info21.setRxpackets("1028");
// info21.setTxpackets("367");
// info21.setBitrate("4300 ");
// info22 = new SwitchInfo();
// info22.setBounds(0,385,410,75);
// info.add(info22);
// info22.setIngressport("18");
// info22.setAction("output");
// info22.setOutputPort("18");
// info22.setRxpackets("1028");
// info22.setTxpackets("367");
// info22.setBitrate("4300 ");
// info23 = new SwitchInfo();
// info23.setBounds(0,455,410,75);
// info.add(info23);
// info23.setIngressport("34");
// info23.setAction("output");
// info23.setOutputPort("18");
// info23.setRxpackets("1028");
// info23.setTxpackets("367");
// info23.setBitrate("4300 ");
// new Thread(){
// public void run(){
// try{
// String result;
// String aresult[];
// while(Repository.run){
// try{result = Repository.getRPCClient().
// execute("ofStatistics",new Object[]{})+"";
// aresult = result.split(",");
// switch1.setText(" "+aresult[0]);
// info1.setIngressport(aresult[1]);
// info1.setAction(aresult[2]);
// info1.setOutputPort(aresult[3]);
// info2.setIngressport(aresult[4]);
// info2.setAction(aresult[5]);
// info2.setOutputPort(aresult[6]);
// info3.setIngressport(aresult[7]);
// info3.setAction(aresult[8]);
// info3.setOutputPort(aresult[9]);
// info1.setRxpackets(aresult[10]);
// info1.setTxpackets(aresult[11]);
// info1.setBitrate(aresult[12]);
// info2.setRxpackets(aresult[13]);
// info2.setTxpackets(aresult[14]);
// info2.setBitrate(aresult[15]);
// info3.setRxpackets(aresult[16]);
// info3.setTxpackets(aresult[17]);
// info3.setBitrate(aresult[18]);
//
// switch2.setText(" "+aresult[19]);
// info21.setIngressport(aresult[20]);
// info21.setAction(aresult[21]);
// info21.setOutputPort(aresult[22]);
// info22.setIngressport(aresult[23]);
// info22.setAction(aresult[24]);
// info22.setOutputPort(aresult[25]);
// info23.setIngressport(aresult[26]);
// info23.setAction(aresult[27]);
// info23.setOutputPort(aresult[28]);
// info21.setRxpackets(aresult[29]);
// info21.setTxpackets(aresult[30]);
// info21.setBitrate(aresult[31]);
// info22.setRxpackets(aresult[32]);
// info22.setTxpackets(aresult[33]);
// info22.setBitrate(aresult[34]);
// info23.setRxpackets(aresult[35]);
// info23.setTxpackets(aresult[36]);
// info23.setBitrate(aresult[37]);
// result = Repository.getRPCClient().
// execute("ofDataPath",new Object[]{})+"";
// setUpper(result);
// try{Thread.sleep(3000);}
// catch(Exception e){e.printStackTrace();}}
// catch(Exception e){
// e.printStackTrace();
// System.out.println("could not retrieve net info from: "+
// "http://"+Repository.host+":"+
// Repository.getCentralEnginePort());
// try{Thread.sleep(3000);}
// catch(Exception xe){xe.printStackTrace();}}}}
// catch(Exception e){
// e.printStackTrace();
// System.out.println("could not retrieve net info from: "+
// "http://"+Repository.host+":"+
// Repository.getCentralEnginePort());
// try{Thread.sleep(3000);}
// catch(Exception ex){ex.printStackTrace();}}}}.start();}
//
// public void paint(Graphics g){
// super.paint(g);
// g.drawImage(Repository.vlcclient, 50, 80, this);
// g.drawImage(Repository.vlcserver, 500, 80, this);
// g.drawImage(Repository.switche, 850, 230, this);
// g.drawImage(Repository.flootw, 980, 400, this);
// g.drawImage(Repository.rack150, 25, 410, this);
// g.setFont(new Font("Arial", Font.BOLD, 12));
// g.drawString("OF_Switch_1",20,463);
// g.drawImage(Repository.rack151, 475, 410, this);
// g.drawString("OF_Switch_2",560,463);
// g.drawImage(Repository.rack152, 250, 550, this);
//
// g.setColor(Color.BLUE);
// g.drawLine(850,270,560,270);
// g.drawArc(540,260,20,20,0,180);
// g.drawLine(540,270,110,270);
// g.drawArc(90,260,20,20,0,180);
// g.drawLine(90,270,40,270);
// g.drawLine(40,270,40,435);
//
// g.drawLine(860,275,860,310);
// g.drawLine(860,310,560,310);
// g.drawArc(540,300,20,20,0,180);
// g.drawLine(540,310,490,310);
// g.drawLine(490,310,490,435);
//
// if(upper.equals("d")||upper.equals("x")){
// g.drawLine(870,280,870,505);
// g.drawLine(870,505,260,505);
// g.drawLine(260,505,260,550);}
// else{
// g.drawLine(870,280,870,505);
// g.drawLine(870,505,455,505);
// g.drawArc(435, 495, 20, 20, 0, 180);
// g.drawLine(435,505,260,505);
// g.drawLine(260,505,260,525);
// g.drawArc(250, 525, 20, 15, 270, 180);
// g.drawLine(260,540,260,550);}
//
// g.setColor(new Color(180,180,180));
// g.drawLine(1075,0,1075,getHeight());
// g.setColor(Color.BLACK);
//
// g.drawLine(100, 80, 100, 20);
// g.drawLine(100, 20, 900, 20);
// g.drawLine(900, 20, 900, 260);
//
// g.drawLine(550,80,550,40);
// g.drawLine(550,40,880,40);
// g.drawLine(880,40,880,250);
//
// g.setColor(Color.RED);
// g.drawLine(550,145,550,435);
//
// g.drawLine(100,145,100,435);
//
// g.setColor(Color.BLACK);
// g.drawLine(930,280,1030,280);
// g.drawLine(1030,280,1030,400);
//
// g.setColor(Color.BLUE);
// g.drawLine(30,560,80,560);
// g.setColor(Color.RED);
// g.drawLine(30,575,80,575);
// g.setColor(Color.BLACK);
// g.drawString("management",90,565);
// g.drawString("datapath",90,580);
// g.setFont(new Font("TimesRoman", Font.PLAIN, 14));
// g.drawString("Legend:", 30, 550);
//
// Graphics2D g2D = (Graphics2D)g;
// BasicStroke stroke = new BasicStroke(3);
// g2D.setStroke(stroke);
// g2D.setColor(Color.RED);
//
// if(upper.equals("d")){
// g2D.drawLine(495,450,495,460);
// g2D.drawLine(495,460,155,460);
// g2D.drawLine(155,460,155,450);}
// else if(upper.equals("c")){
// g2D.drawLine(100,450,290,550);
// g2D.drawLine(550,450,360,550);}}
//
// public void setUpper(String upper){
// this.upper = upper;
// repaint();}}