Package model.overview

Examples of model.overview.Switch


   
    for(String dpid : switchDpids)
      futureStats.put(dpid, SwitchJSON.startSwitchRestCalls(dpid, false));
   
     for(String dpid : futureStats.keySet()){
       Switch sw = null;
       boolean updateSwitch = false;
      
       // Check to see if this switch already exists, if it does just update it
       if(!oldSwitches.isEmpty()){
         for(Switch oldSwitch : oldSwitches){
           if (oldSwitch.getDpid().equals(dpid)){
             sw = oldSwitch;
             updateSwitch = true;
           }
         }
       }
           // If it doesn't exist we make a new Switch object
       if(!updateSwitch)
         sw = new Switch(dpid);
      
              List<Port> ports = new ArrayList<Port>();
              Map<String, Future<Object>> stats;
            JSONObject descriptionObj = null, aggregateObj = null, portObj = null, featuresObj = null;
                try {
          stats = (Map<String, Future<Object>>) futureStats.get(dpid).get(5L, TimeUnit.SECONDS);
          // Don't bother if we are updating this switch, since description is static
          if(!updateSwitch)
            descriptionObj = (JSONObject)stats.get("description").get(5L, TimeUnit.SECONDS);
          aggregateObj = (JSONObject)stats.get("aggregate").get(5L, TimeUnit.SECONDS);
                  portObj = (JSONObject)stats.get("port").get(5L, TimeUnit.SECONDS);
                  featuresObj = (JSONObject)stats.get("features").get(5L, TimeUnit.SECONDS);
        } catch (InterruptedException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        } catch (ExecutionException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        } catch (TimeoutException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }

                // Description stats
                if(!updateSwitch && descriptionObj != null){
                  descriptionObj = descriptionObj.getJSONArray(dpid).getJSONObject(0);
                  sw.setManufacturerDescription(descriptionObj.getString("manufacturerDescription"));
                  sw.setHardwareDescription(descriptionObj.getString("hardwareDescription"));
                  sw.setSoftwareDescription(descriptionObj.getString("softwareDescription"));
                  sw.setSerialNumber(descriptionObj.getString("serialNumber"));
                  sw.setDatapathDescription(descriptionObj.getString("datapathDescription"));
              
               
                // Aggregate stats, ignore
                if(aggregateObj != null){
                    aggregateObj = aggregateObj.getJSONArray(dpid).getJSONObject(0);
                    sw.setPacketCount(String.valueOf(aggregateObj.getInt("packetCount")));
                    sw.setByteCount(String.valueOf(aggregateObj.getInt("byteCount")));
                    sw.setFlowCount(String.valueOf(aggregateObj.getInt("flowCount")));
                }
               
                // Flow Stats
                sw.setFlows(FlowJSON.getFlows(dpid));
               
                // Port and Features stats
                JSONArray json = portObj.getJSONArray(sw.getDpid());
                JSONObject objtwo = featuresObj.getJSONObject(sw.getDpid());
                JSONArray jsontwo = objtwo.getJSONArray("ports");
                for(int i = 0; i < json.length(); i++)
                {
                    obj = (JSONObject)json.get(i);
                    Port port = new Port(String.valueOf(obj.getInt("portNumber")));
                    port.setReceivePackets(FormatLong.formatPackets(obj.getLong("receivePackets"), false, false));
                    port.setTransmitPackets(FormatLong.formatPackets(obj.getLong("transmitPackets"), false, false));
                    port.setReceiveBytes(FormatLong.formatBytes(obj.getLong("receiveBytes"), true, false));
                    port.setTransmitBytes(FormatLong.formatBytes(obj.getLong("transmitBytes"), true, false));
                    port.setReceiveDropped(String.valueOf(obj.getLong("receiveDropped")));
                    port.setTransmitDropped(String.valueOf(obj.getLong("transmitDropped")));
                    port.setReceiveErrors(String.valueOf(obj.getLong("receiveErrors")));
                    port.setTransmitErrors(String.valueOf(obj.getLong("transmitErrors")));
                    port.setReceieveFrameErrors(String.valueOf(obj.getInt("receiveFrameErrors")));
                    port.setReceieveOverrunErrors(String.valueOf(obj.getInt("receiveOverrunErrors")));
                    port.setReceiveCRCErrors(String.valueOf(obj.getInt("receiveCRCErrors")));
                    port.setCollisions(String.valueOf(obj.getInt("collisions")));
                    if(!jsontwo.isNull(i))
                    {
                        obj = (JSONObject)jsontwo.get(i);
                        port.setAdvertisedFeatures(String.valueOf(obj.getInt("advertisedFeatures")));
                        port.setConfig(String.valueOf(obj.getInt("config")));
                        port.setCurrentFeatures(String.valueOf(obj.getInt("currentFeatures")));
                        port.setHardwareAddress(obj.getString("hardwareAddress"));
                        port.setName(obj.getString("name"));
                        port.setPeerFeatures(String.valueOf(obj.getInt("peerFeatures")));
                        port.setState(String.valueOf(obj.getInt("state")));
                        port.setSupportedFeatures(String.valueOf(obj.getInt("supportedFeatures")));
                    }
                    ports.add(port);
                }
    
                sw.setPorts(ports);
                switches.add(sw);
            }
            return switches;
        }
View Full Code Here

TOP

Related Classes of model.overview.Switch

Copyright © 2018 www.massapicom. 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.