⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 reportdetailsbean.java

📁 report trafiic for java bean
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
        }
        XYAreaRenderer renderer = new XYAreaRenderer(4, labelGenerator, null);
        renderer.setSeriesPaint(0, outColor);
        XYPlot plot = new XYPlot(dataset2, xAxis, yAxis, renderer);
        XYItemRenderer renderer2 = new StandardXYItemRenderer();
        renderer2.setSeriesPaint(0, inColor);
        renderer2.setToolTipGenerator(new StandardXYItemLabelGenerator(new SimpleDateFormat("d-MMM-yyyy"), new DecimalFormat("0.00")));
        plot.setSecondaryDataset(0, dataset1);
        plot.setSecondaryRenderer(0, renderer2);
        plot.setInsets(new Insets(25, 25, 10, 25));
        DateAxis dateAxis = (DateAxis)plot.getDomainAxis();
        dateAxis.setRange(new Date(stTime), new Date(edTime));
        dateAxis.setTickUnit(getUtil().setAppropriateTickUnit(edTime - stTime));
        if(dataset1 == null && dataset2 == null)
            plot.setNoDataMessage("No data for this selection");
        plot.setDatasetRenderingOrder(DatasetRenderingOrder.REVERSE);
        JFreeChart chart = new JFreeChart(null, JFreeChartConstants.DEFAULT_TITLE_FONT, plot, false);
        chart.setBackgroundPaint(new Color(255, 255, 255));
        String filenamePrefix = "myChart" + System.currentTimeMillis();
        ServletUtilities.setTempFilePrefix(filenamePrefix);
        String filePNGName = null;
        try
        {
            filePNGName = ServletUtilities.saveChartAsPNG(chart, 617, 190, null, session);
        }
        catch(Exception ee)
        {
            nfLogger.severe("Error in generateGraphTimeSeries Method :   " + ee.getMessage());
            ee.printStackTrace();
        }
        nfLogger.finer("PNG file Name in generateGraphTimeSeries() :" + filePNGName);
        return filePNGName;
    }

   //Create Troubleshoot Traffic Trend Graphics
    public String generateGraphTimeSeries_troubleshoot(TableXYDataset dataset, DateAxis xAxis, String yAUnit, HttpSession session, String graphOption, long stTime,
            long edTime, long thresholdValue, long ptTime)
    {
        Hashtable myHash = splitTimeTableXYDataset(dataset);
        org.jfree.data.XYDataset dataset1 = null;
        org.jfree.data.XYDataset dataset2 = null;
        if(myHash != null && myHash.containsKey("IN"))
            dataset1 = (TimeTableXYDataset)myHash.get("IN");
        if(myHash != null && myHash.containsKey("OUT"))
            dataset2 = (TimeTableXYDataset)myHash.get("OUT");
        StandardXYItemLabelGenerator labelGenerator = new StandardXYItemLabelGenerator(new SimpleDateFormat("dd-MMM-yyyy", Locale.UK));
        String yAxisUnit = "Traffic (" + yAUnit + ")";
        NumberAxis yAxis = new NumberAxis(yAxisUnit);
        yAxis.setAutoRangeIncludesZero(true);
        yAxis.setLabelAngle(50.25D);
        if(graphOption.equalsIgnoreCase("percentage"))
        {
            yAxis.setMinimumAxisValue(0.0D);
            yAxis.setMaximumAxisValue(100D);
        }
        XYAreaRenderer renderer = new XYAreaRenderer(4, labelGenerator, null);
        renderer.setSeriesPaint(0, new Color(0, 255, 0));
        XYPlot plot = new XYPlot(dataset2, xAxis, yAxis, renderer);
        XYItemRenderer renderer2 = new StandardXYItemRenderer();
        renderer2.setSeriesPaint(0, inColor);
        renderer2.setToolTipGenerator(new StandardXYItemLabelGenerator(new SimpleDateFormat("d-MMM-yyyy"), new DecimalFormat("0.00")));
        plot.setSecondaryDataset(0, dataset1);
        plot.setSecondaryRenderer(0, renderer2);
        double tvalue = (new Long(thresholdValue)).doubleValue();
        if(tvalue != 0.0D)
        {
            plot.addRangeMarker(new ValueMarker(tvalue));
            String str = "Threshold " + tvalue + "%";
            double deg = 0.0D;
            if(tvalue <= 70D)
            {
                deg = 225D;
            } else
            {
                tvalue += 10D;
                deg = 45D;
            }
            XYPointerAnnotation XYPtAnn = new XYPointerAnnotation(str, ptTime, tvalue - 5D, deg);
            XYPtAnn.setArrowLength(5D);
            XYPtAnn.setLabelOffset(10D);
            plot.addAnnotation(XYPtAnn);
        }
        plot.setInsets(new Insets(25, 25, 10, 25));
        DateAxis dateAxis = (DateAxis)plot.getDomainAxis();
        dateAxis.setRange(new Date(stTime), new Date(edTime));
        dateAxis.setTickUnit(getUtil().setAppropriateTickUnit(edTime - stTime));
        if(dataset1 == null && dataset2 == null)
            plot.setNoDataMessage("No data for this selection");
        plot.setDatasetRenderingOrder(DatasetRenderingOrder.REVERSE);
        JFreeChart chart = new JFreeChart(null, JFreeChartConstants.DEFAULT_TITLE_FONT, plot, false);
        chart.setBackgroundPaint(new Color(255, 255, 255));
        String filenamePrefix = "myChart" + System.currentTimeMillis();
        ServletUtilities.setTempFilePrefix(filenamePrefix);
        String filePNGName = null;
        try
        {
            filePNGName = ServletUtilities.saveChartAsPNG(chart, 617, 190, null, session);
        }
        catch(Exception ee)
        {
            nfLogger.severe("Error in generateGraphTimeSeries Method :   " + ee.getMessage());
            ee.printStackTrace();
        }
        nfLogger.finer("PNG file Name in generateGraphTimeSeries() :" + filePNGName);
        return filePNGName;
    }

   //Create Application Pie charts
    private Vector createPieCharts(Vector vect, String getWhat, String ipInterface, HttpSession session)
    {
        Vector sourceVect = new Vector();
        Vector destVect = new Vector();
        Vector appVect = new Vector();
        Vector allVect = new Vector();
        LinkedHashMap sourceHash = new LinkedHashMap();
        LinkedHashMap destHash = new LinkedHashMap();
        LinkedHashMap appHash = new LinkedHashMap();
        for(int i = 0; i < vect.size(); i++)
        {
            Vector indVect = (Vector)vect.get(i);
            float total = 0.0F;
            if(sourceHash.containsKey(indVect.elementAt(0)))
            {
                float exist = 0.0F;
                float newer = 0.0F;
                if(indVect.elementAt(0) != null)
                    exist = ((Float)sourceHash.get(indVect.elementAt(0))).floatValue();
                if(indVect.elementAt(5) != null)
                    newer = Float.parseFloat((String)indVect.get(5));
                total = exist + newer;
            } else
            if(indVect.elementAt(5) != null)
                total = Float.parseFloat((String)indVect.get(5));
            sourceHash.put(indVect.elementAt(0), new Float(total));
            float total1 = 0.0F;
            if(destHash.containsKey(indVect.elementAt(1)))
            {
                float exist = 0.0F;
                float newer = 0.0F;
                if(indVect.elementAt(1) != null)
                    exist = ((Float)destHash.get(indVect.elementAt(1))).floatValue();
                if(indVect.elementAt(5) != null)
                    newer = Float.parseFloat((String)indVect.get(5));
                total1 = exist + newer;
            } else
            if(indVect.get(5) != null)
                total1 = Float.parseFloat((String)indVect.get(5));
            destHash.put(indVect.elementAt(1), new Float(total1));
            float total2 = 0.0F;
            if(appHash.containsKey(indVect.elementAt(2)))
            {
                float exist = 0.0F;
                float newer = 0.0F;
                if(indVect.elementAt(2) != null)
                    exist = ((Float)appHash.get(indVect.elementAt(2))).floatValue();
                if(indVect.elementAt(5) != null)
                    newer = Float.parseFloat((String)indVect.get(5));
                total2 = exist + newer;
            } else
            if(indVect.get(5) != null)
                total2 = Float.parseFloat((String)indVect.get(5));
            appHash.put(indVect.elementAt(2), new Float(total2));
        }

        Vector tempV;
        for(Iterator enu = sourceHash.keySet().iterator(); enu.hasNext(); sourceVect.add(tempV))
        {
            String sourceAddress = (String)enu.next();
            String volume = Float.toString(((Float)sourceHash.get(sourceAddress)).floatValue());
            tempV = new Vector();
            tempV.add(volume);
            tempV.add(sourceAddress);
        }

        for(Iterator enu1 = destHash.keySet().iterator(); enu1.hasNext(); destVect.add(tempV))
        {
            String destAddress = (String)enu1.next();
            String volume = Float.toString(((Float)destHash.get(destAddress)).floatValue());
            tempV = new Vector();
            tempV.add(volume);
            tempV.add(destAddress);
        }

        for(Iterator enu2 = appHash.keySet().iterator(); enu2.hasNext(); appVect.add(tempV))
        {
            String appValue = (String)enu2.next();
            String volume = Float.toString(((Float)appHash.get(appValue)).floatValue());
            tempV = new Vector();
            tempV.add(volume);
            tempV.add(appValue);
        }

        allVect.add(sourceVect);
        allVect.add(destVect);
        allVect.add(appVect);
        return allVect;
    }

    // Fetch Source IP Traffic from netflow database
    public Hashtable getSrcTraffic(int routerID)
    {
        long times = System.currentTimeMillis() - 0x36ee80L;
        String srcQuery = "";
        if(routerID != -1)
            srcQuery = "select NetFlow_Interface.INTERFACE_ID, sum(OCTETS * 8), COLLECTION_TIME, NetFlow_Interface.SPEED from NetFlow_Router, NetFlow_Interface, SrcIf10Min where NetFlow_Router.ROUTER_ID = NetFlow_Interface.ROUTER_ID AND NetFlow_Interface.INTERFACE_ID = SrcIf10Min.SRC_IF and NetFlow_Interface.STATE = 0 and NetFlow_Router.ROUTER_ID = " + routerID + " and SrcIf10Min.COLLECTION_TIME >= '" + getUtil().getTimeStamp(times) + "' group by SrcIf10Min.SRC_IF order by null";
        else
            srcQuery = "select NetFlow_Interface.INTERFACE_ID, sum(OCTETS * 8), COLLECTION_TIME, NetFlow_Interface.SPEED from NetFlow_Interface, SrcIf10Min where NetFlow_Interface.INTERFACE_ID = SrcIf10Min.SRC_IF and NetFlow_Interface.STATE = 0 and SrcIf10Min.COLLECTION_TIME >= '" + getUtil().getTimeStamp(times) + "' group by SrcIf10Min.SRC_IF order by null";
        nfLogger.finer("query in getSrcTraffic is " + srcQuery);
        return DBQueryUtil.getInstance().getTrafficForInterfaces(srcQuery);
    }

    // Fetch Target IP Traffic from netflow database
    public Hashtable getDstTraffic(int routerID)
    {
        long times = System.currentTimeMillis() - 0x36ee80L;
        String dstQuery = "";
        if(routerID != -1)
            dstQuery = "select NetFlow_Interface.INTERFACE_ID, sum(OCTETS * 8), COLLECTION_TIME, NetFlow_Interface.SPEED from NetFlow_Router, NetFlow_Interface, DstIf10Min where NetFlow_Router.ROUTER_ID = NetFlow_Interface.ROUTER_ID AND NetFlow_Interface.INTERFACE_ID = DstIf10Min.DST_IF and NetFlow_Interface.STATE = 0 and NetFlow_Router.ROUTER_ID = " + routerID + " and DstIf10Min.COLLECTION_TIME >= '" + getUtil().getTimeStamp(times) + "' group by DstIf10Min.DST_IF order by null";
        else
            dstQuery = "select NetFlow_Interface.INTERFACE_ID, sum(OCTETS * 8), COLLECTION_TIME, NetFlow_Interface.SPEED from NetFlow_Interface, DstIf10Min where NetFlow_Interface.INTERFACE_ID = DstIf10Min.DST_IF and NetFlow_Interface.STATE = 0 and DstIf10Min.COLLECTION_TIME >= '" + getUtil().getTimeStamp(times) + "' group by DstIf10Min.DST_IF order by null";
        nfLogger.finer("query in getDstTraffic is " + dstQuery);
        return DBQueryUtil.getInstance().getTrafficForInterfaces(dstQuery);
    }

    // Fetch Source IP Traffic of AS system from netflow database
    public Hashtable getASSrcTraffic(int routerID)
    {
        long times = System.currentTimeMillis() - 0x36ee80L;
        String srcQuery = "";
        if(routerID != -1)
            srcQuery = "select NetFlow_AS.AS_ID, sum(OCTETS * 8), COLLECTION_TIME from NetFlow_Router, NetFlow_AS, SrcIf10Min where NetFlow_Router.ROUTER_ID = NetFlow_AS.ROUTER_ID AND NetFlow_AS.AS_ID = SrcIf10Min.SRC_IF and NetFlow_Router.ROUTER_ID = " + routerID + " and SrcIf10Min.COLLECTION_TIME >= '" + getUtil().getTimeStamp(times) + "' group by SrcIf10Min.SRC_IF order by null";
        else
            srcQuery = "select NetFlow_AS.AS_ID, sum(OCTETS * 8), COLLECTION_TIME from NetFlow_AS, SrcIf10Min where NetFlow_AS.AS_ID = SrcIf10Min.SRC_IF AND SrcIf10Min.COLLECTION_TIME >= '" + getUtil().getTimeStamp(times) + "' group by SrcIf10Min.SRC_IF order by null";
        nfLogger.finer("query in getASSrcTraffic is " + srcQuery);
        return DBQueryUtil.getInstance().getTrafficForInterfaces(srcQuery, true);
    }

    // Fetch Target IP Traffic of AS system from netflow database
    public Hashtable getASDstTraffic(int routerID)
    {
        long times = System.currentTimeMillis() - 0x36ee80L;
        String dstQuery = "";
        if(routerID != -1)
            dstQuery = "select NetFlow_AS.AS_ID, sum(OCTETS * 8), COLLECTION_TIME from NetFlow_Router, NetFlow_AS, DstIf10Min where NetFlow_Router.ROUTER_ID = NetFlow_AS.ROUTER_ID AND NetFlow_AS.AS_ID = DstIf10Min.DST_IF AND NetFlow_Router.ROUTER_ID = " + routerID + " and DstIf10Min.COLLECTION_TIME >= '" + getUtil().getTimeStamp(times) + "' group by DstIf10Min.DST_IF order by null";
        else
            dstQuery = "select NetFlow_AS.AS_ID, sum(OCTETS * 8), COLLECTION_TIME from NetFlow_AS, DstIf10Min where NetFlow_AS.AS_ID = DstIf10Min.DST_IF AND DstIf10Min.COLLECTION_TIME >= '" + getUtil().getTimeStamp(times) + "' group by DstIf10Min.DST_IF order by null";
        nfLogger.finer("query in getASDstTraffic is " + dstQuery);
        return DBQueryUtil.getInstance().getTrafficForInterfaces(dstQuery, true);
    }

    // Fetch Source IP traffic IP Groups
    public Hashtable getSrcTrafficIPGroup()
    {
        long times = System.currentTimeMillis() - 0x36ee80L;
        String srcQuery = "select IPGroups.IP_GROUP_ID, IPGroups.IP_GROUP_NAME, sum(OCTETS * 8), COLLECTION_TIME, IPGroups.IP_GROUP_SPEED from IPGroups, SrcIf10Min where IP_GROUP_ID = SRC_IF and IP_GROUP_STATE = 0 and SrcIf10Min.COLLECTION_TIME >= '" + getUtil().getTimeStamp(times) + "' group by SrcIf10Min.SRC_IF order by null";
        nfLogger.finer("query in getSrcTraffic is " + srcQuery);
        return DBQueryUtil.getInstance().getTrafficForInterfacesIP(srcQuery);
    }

    // Fetch last hour alerts information
    public LinkedHashMap getLastHourAlerts()
    {
        long times = System.currentTimeMillis() - 0x36ee80L;
        String alertquery = "select DEVICE_ID,count(*) from EventRecord where END_TIME >= '" + getUtil().getTimeStamp(times) + "'  group by DEVICE_ID";
        nfLogger.finer("query in getlasthouralerts for all interfaces is " + alertquery);
        return DBQueryUtil.getInstance().executeQueryForMetaTable(alertquery);
    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -