Example usage for org.jfree.chart.plot XYPlot setDataset

List of usage examples for org.jfree.chart.plot XYPlot setDataset

Introduction

In this page you can find the example usage for org.jfree.chart.plot XYPlot setDataset.

Prototype

public void setDataset(XYDataset dataset) 

Source Link

Document

Sets the primary dataset for the plot, replacing the existing dataset if there is one.

Usage

From source file:com.att.aro.ui.view.diagnostictab.plot.BurstPlot.java

public void populate(XYPlot plot, AROTraceData analysis) {

    if (analysis != null) {
        burstDataCollection.removeAllSeries();
        Map<BurstCategory, XYIntervalSeries> seriesMap = new EnumMap<BurstCategory, XYIntervalSeries>(
                BurstCategory.class);
        final Map<BurstCategory, List<Burst>> burstMap = new HashMap<BurstCategory, List<Burst>>();
        for (BurstCategory eventType : BurstCategory.values()) {
            XYIntervalSeries series = new XYIntervalSeries(eventType);
            seriesMap.put(eventType, series);
            burstDataCollection.addSeries(series);
            burstMap.put(eventType, new ArrayList<Burst>());
        }//  w  w w  .  ja v  a2s. c  o  m
        final List<Burst> burstStates = analysis.getAnalyzerResult().getBurstcollectionAnalysisData()
                .getBurstCollection();
        Iterator<Burst> iter = burstStates.iterator();
        while (iter.hasNext()) {
            Burst currEvent = iter.next();
            if (currEvent != null) {
                BurstCategory burstState = currEvent.getBurstCategory();
                if (burstState != null) {
                    seriesMap.get(burstState).add(currEvent.getBeginTime(), currEvent.getBeginTime(),
                            currEvent.getEndTime(), 0.5, 0, 1);
                    burstMap.get(burstState).add(currEvent);
                }
            }
        }

        Color myGreen = new Color(34, 177, 76);
        Color lightGreen = new Color(134, 232, 162);

        XYItemRenderer renderer = plot.getRenderer();
        renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.TCP_PROTOCOL), Color.blue);
        renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.TCP_LOSS_OR_DUP), Color.black);
        renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.USER_INPUT), myGreen);
        renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.SCREEN_ROTATION), lightGreen);
        renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.CLIENT_APP), Color.red);
        renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.SERVER_NET_DELAY), Color.yellow);
        renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.LONG), Color.gray);
        renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.PERIODICAL), Color.magenta);
        renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.CPU), Color.cyan);
        renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.UNKNOWN), Color.darkGray);

        // Assign ToolTip to renderer
        renderer.setBaseToolTipGenerator(new XYToolTipGenerator() {
            @Override
            public String generateToolTip(XYDataset dataset, int series, int item) {
                BurstCategory eventType = (BurstCategory) burstDataCollection.getSeries(series).getKey();
                Burst b;
                int size = burstMap.get(eventType).size();
                if (size > item) {
                    b = burstMap.get(eventType).get(item);
                } else {
                    b = burstMap.get(eventType).get(size);
                }
                final String PREFIX = "BurstCategory.";
                return MessageFormat.format(ResourceBundleHelper.getMessageString(PREFIX + eventType.ordinal()),
                        b.getPackets().size(), b.getBurstBytes(), b.getBurstThroughPut());
            }
        });

    }

    plot.setDataset(burstDataCollection);

    //      return plot;

}

From source file:com.att.aro.ui.view.diagnostictab.plot.BluetoothPlot.java

@Override
public void populate(XYPlot plot, AROTraceData analysis) {
    if (analysis != null) {
        bluetoothData.removeAllSeries();
        XYIntervalSeries bluetoothConnected = new XYIntervalSeries(BluetoothState.BLUETOOTH_CONNECTED);
        XYIntervalSeries bluetoothDisconnected = new XYIntervalSeries(BluetoothState.BLUETOOTH_DISCONNECTED);
        XYIntervalSeries bluetoothOff = new XYIntervalSeries(BluetoothState.BLUETOOTH_TURNED_OFF);
        XYIntervalSeries bluetoothOn = new XYIntervalSeries(BluetoothState.BLUETOOTH_TURNED_ON);
        XYIntervalSeries bluetoothUnknown = new XYIntervalSeries(BluetoothState.BLUETOOTH_UNKNOWN);

        bluetoothData.addSeries(bluetoothConnected);
        bluetoothData.addSeries(bluetoothDisconnected);
        bluetoothData.addSeries(bluetoothOff);
        bluetoothData.addSeries(bluetoothOn);
        bluetoothData.addSeries(bluetoothUnknown);

        // Populate the data set
        Iterator<BluetoothInfo> iter = analysis.getAnalyzerResult().getTraceresult().getBluetoothInfos()
                .iterator();//from  ww  w.ja  va 2 s. c o m
        XYIntervalSeries series;
        if (iter.hasNext()) {
            while (iter.hasNext()) {
                BluetoothInfo btEvent = iter.next();
                if (btEvent.getBluetoothState() == null) {
                    series = bluetoothUnknown;
                } else {
                    switch (btEvent.getBluetoothState()) {
                    case BLUETOOTH_CONNECTED:
                        series = bluetoothConnected;
                        break;
                    case BLUETOOTH_DISCONNECTED:
                        series = bluetoothDisconnected;
                        break;
                    case BLUETOOTH_TURNED_ON:
                        series = bluetoothOn;
                        break;
                    case BLUETOOTH_TURNED_OFF:
                        series = bluetoothOff;
                        break;
                    default:
                        series = bluetoothUnknown;
                        break;
                    }
                }
                series.add(btEvent.getBeginTimeStamp(), btEvent.getBeginTimeStamp(), btEvent.getEndTimeStamp(),
                        0.5, 0, 1);
            }

        }

        XYItemRenderer renderer = plot.getRenderer();
        renderer.setSeriesPaint(bluetoothData.indexOf(BluetoothState.BLUETOOTH_CONNECTED),
                new Color(34, 177, 76));
        renderer.setSeriesPaint(bluetoothData.indexOf(BluetoothState.BLUETOOTH_DISCONNECTED), Color.YELLOW);
        renderer.setSeriesPaint(bluetoothData.indexOf(BluetoothState.BLUETOOTH_TURNED_OFF),
                new Color(216, 132, 138));
        renderer.setSeriesPaint(bluetoothData.indexOf(BluetoothState.BLUETOOTH_TURNED_ON),
                new Color(162, 226, 98));
        renderer.setSeriesPaint(bluetoothData.indexOf(BluetoothState.BLUETOOTH_UNKNOWN),
                new Color(154, 154, 154));

        // Assign ToolTip to renderer
        renderer.setBaseToolTipGenerator(new XYToolTipGenerator() {
            @Override
            public String generateToolTip(XYDataset dataset, int series, int item) {
                BluetoothState eventType = (BluetoothState) bluetoothData.getSeries(series).getKey();
                return MessageFormat.format(ResourceBundleHelper.getMessageString("bluetooth.tooltip"),
                        dataset.getX(series, item), ResourceBundleHelper.getEnumString(eventType));
            }
        });

    }
    plot.setDataset(bluetoothData);
    //         return plot;
}

From source file:com.att.aro.diagnostics.GraphPanel.java

private static void populateScreenStatePlot(XYPlot plot, TraceData.Analysis analysis) {

    final XYIntervalSeriesCollection screenData = new XYIntervalSeriesCollection();
    if (analysis != null) {

        XYIntervalSeries series = new XYIntervalSeries(ScreenState.SCREEN_ON);
        screenData.addSeries(series);//from w  w  w  . j  a v  a  2  s . c  o  m

        // Populate the data set
        final Map<Double, ScreenStateInfo> dataMap = new HashMap<Double, ScreenStateInfo>();
        Iterator<ScreenStateInfo> iter = analysis.getScreenStateInfos().iterator();
        if (iter.hasNext()) {
            while (iter.hasNext()) {
                ScreenStateInfo screenEvent = iter.next();
                if (screenEvent.getScreenState() == ScreenState.SCREEN_ON) {
                    series.add(screenEvent.getBeginTimeStamp(), screenEvent.getBeginTimeStamp(),
                            screenEvent.getEndTimeStamp(), 0.5, 0, 1);
                    dataMap.put(screenEvent.getBeginTimeStamp(), screenEvent);
                }
            }
        }

        // Assign ToolTip to renderer
        XYItemRenderer renderer = plot.getRenderer();
        renderer.setBaseToolTipGenerator(new XYToolTipGenerator() {

            @Override
            public String generateToolTip(XYDataset dataset, int series, int item) {

                ScreenStateInfo si = dataMap.get(dataset.getXValue(series, item));
                if (si != null) {

                    StringBuffer displayInfo = new StringBuffer(rb.getString("screenstate.tooltip.prefix"));
                    int timeout = si.getScreenTimeout();
                    displayInfo.append(MessageFormat.format(rb.getString("screenstate.tooltip.content"),
                            ResourceBundleManager.getEnumString(si.getScreenState()), si.getScreenBrightness(),
                            timeout > 0 ? timeout : rb.getString("screenstate.noTimeout")));
                    displayInfo.append(rb.getString("screenstate.tooltip.suffix"));
                    return displayInfo.toString();
                }
                return null;
            }
        });
    }

    plot.setDataset(screenData);
}

From source file:com.att.aro.ui.view.diagnostictab.plot.WakeLockPlot.java

@Override
public void populate(XYPlot plot, AROTraceData analysis) {
    XYIntervalSeriesCollection wakelockData = new XYIntervalSeriesCollection();
    if (analysis == null) {
        logger.info("analysis data is null");
    } else {//from  w  w  w  . j  ava2s  .  c  o  m
        TraceResultType resultType = analysis.getAnalyzerResult().getTraceresult().getTraceResultType();
        if (resultType.equals(TraceResultType.TRACE_FILE)) {
            logger.info("didn't get analysis trace data!");

        } else {
            TraceDirectoryResult traceresult = (TraceDirectoryResult) analysis.getAnalyzerResult()
                    .getTraceresult();

            XYIntervalSeries series = new XYIntervalSeries(WakelockState.WAKELOCK_ACQUIRED);
            wakelockData.addSeries(series);

            // Populate the data set
            Iterator<WakelockInfo> iter = traceresult.getWakelockInfos().iterator();
            if (iter.hasNext()) {
                WakelockInfo lastEvent = iter.next();
                logger.debug("Wakelock Plotting");
                // Check whether WAKELOCK was acquired before logging begins.
                if (lastEvent.getWakelockState() == WakelockState.WAKELOCK_RELEASED) {
                    series.add(0, 0, lastEvent.getBeginTimeStamp(), 0.5, 0, 1);
                    dataMap.put(lastEvent.getBeginTimeStamp(), lastEvent);
                }
                while (iter.hasNext()) {
                    WakelockInfo currEvent = iter.next();
                    if (lastEvent.getWakelockState() == WakelockState.WAKELOCK_ACQUIRED) {
                        logger.debug("Wakelock acquired curr " + currEvent.getBeginTimeStamp());
                        logger.debug("Wakelock acquired last " + lastEvent.getBeginTimeStamp());
                        series.add(lastEvent.getBeginTimeStamp(), lastEvent.getBeginTimeStamp(),
                                currEvent.getBeginTimeStamp(), 0.5, 0, 1);
                        dataMap.put(lastEvent.getBeginTimeStamp(), lastEvent);
                    }
                    lastEvent = currEvent;
                }
                if (lastEvent.getWakelockState() == WakelockState.WAKELOCK_ACQUIRED) {
                    series.add(lastEvent.getBeginTimeStamp(), lastEvent.getBeginTimeStamp(),
                            traceresult.getTraceDuration(), 0.5, 0, 1);
                    dataMap.put(lastEvent.getBeginTimeStamp(), lastEvent);
                }
            }

            // Assign ToolTip to renderer
            XYItemRenderer renderer = plot.getRenderer();
            renderer.setBaseToolTipGenerator(new XYToolTipGenerator() {

                @Override
                public String generateToolTip(XYDataset dataset, int series, int item) {

                    WakelockInfo wi = dataMap.get(dataset.getXValue(series, item));
                    if (wi != null) {

                        StringBuffer displayInfo = new StringBuffer(
                                ResourceBundleHelper.getMessageString("wakelock.tooltip.prefix"));
                        displayInfo.append(MessageFormat.format(
                                ResourceBundleHelper.getMessageString("wakelock.tooltip.content"),
                                ResourceBundleHelper.getEnumString(wi.getWakelockState()),
                                wi.getBeginTimeStamp()));
                        displayInfo.append(ResourceBundleHelper.getMessageString("wakelock.tooltip.suffix"));
                        return displayInfo.toString();
                    }
                    return null;
                }
            });

        }
    }

    plot.setDataset(wakelockData);
    //      return plot;
}

From source file:com.att.aro.diagnostics.GraphPanel.java

private static void populateRadioPlot(XYPlot plot, TraceData.Analysis analysis) {

    XYSeries series = new XYSeries(0);
    if (analysis != null) {

        final List<RadioInfo> radioInfos = analysis.getRadioInfos();

        if (radioInfos.size() > 0 && analysis.getFilter().getTimeRange() != null) {
            RadioInfo first = radioInfos.get(0);
            series.add(analysis.getFilter().getTimeRange().getBeginTime(),
                    first.getSignalStrength() < 0 ? first.getSignalStrength() : MIN_SIGNAL);
        }/*from  w w  w .j  a v a  2  s . com*/
        for (RadioInfo ri : radioInfos) {
            series.add(ri.getTimeStamp(), ri.getSignalStrength() < 0 ? ri.getSignalStrength() : MIN_SIGNAL);
        }
        if (radioInfos.size() > 0) {
            RadioInfo last = radioInfos.get(radioInfos.size() - 1);
            if (analysis.getFilter().getTimeRange() != null) {
                series.add(analysis.getFilter().getTimeRange().getEndTime(),
                        last.getSignalStrength() < 0 ? last.getSignalStrength() : MIN_SIGNAL);
            } else {
                series.add(analysis.getTraceData().getTraceDuration(),
                        last.getSignalStrength() < 0 ? last.getSignalStrength() : MIN_SIGNAL);
            }
        }

        // Assign ToolTip to renderer
        XYItemRenderer renderer = plot.getRenderer();
        renderer.setBaseToolTipGenerator(new XYToolTipGenerator() {

            @Override
            public String generateToolTip(XYDataset dataset, int series, int item) {

                RadioInfo ri = radioInfos.get(Math.min(item, radioInfos.size() - 1));
                if (ri.getSignalStrength() < 0) {
                    if (ri.isLte()) {
                        return MessageFormat.format(rb.getString("radio.tooltip.lte"), ri.getLteRsrp(),
                                ri.getLteRsrq());
                    } else {
                        return MessageFormat.format(rb.getString("radio.tooltip"), ri.getSignalStrength());
                    }
                } else {
                    return rb.getString("radio.noSignal");
                }
            }

        });

    }

    plot.setDataset(new XYSeriesCollection(series));
}

From source file:com.att.aro.ui.view.diagnostictab.plot.RrcPlot.java

@Override
public void populate(XYPlot plot, AROTraceData analysis) {
    if (analysis != null) {
        rrcDataCollection.removeAllSeries();
        Map<RRCState, XYIntervalSeries> seriesMap = new EnumMap<RRCState, XYIntervalSeries>(RRCState.class);
        for (RRCState eventType : RRCState.values()) {
            XYIntervalSeries series = new XYIntervalSeries(eventType);
            seriesMap.put(eventType, series);
            rrcDataCollection.addSeries(series);
        }//from   www.ja  va2s.  c o  m
        List<RrcStateRange> rrcStates = analysis.getAnalyzerResult().getStatemachine().getStaterangelist();

        Iterator<RrcStateRange> iter = rrcStates.iterator();
        while (iter.hasNext()) {
            RrcStateRange currEvent = iter.next();
            RRCState state = currEvent.getState();
            if (state == RRCState.STATE_FACH || state == RRCState.TAIL_FACH) {
                seriesMap.get(state).add(currEvent.getBeginTime(), currEvent.getBeginTime(),
                        currEvent.getEndTime(), 0.25, 0, 0.5);
            } else {
                seriesMap.get(state).add(currEvent.getBeginTime(), currEvent.getBeginTime(),
                        currEvent.getEndTime(), 0.5, 0, 1);
            }

        }
        XYItemRenderer renderer = plot.getRenderer();
        Color dchGreen = new Color(34, 177, 76);
        Color fachOrange = new Color(255, 201, 14);

        renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.STATE_IDLE), Color.white);
        renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.LTE_IDLE), Color.white);

        renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.PROMO_IDLE_DCH), Color.red);
        renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.LTE_PROMOTION), Color.red);

        renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.STATE_DCH), fachOrange);
        renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.LTE_CONTINUOUS), fachOrange);

        renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.TAIL_DCH), getTailPaint(fachOrange));
        renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.LTE_CR_TAIL), getTailPaint(fachOrange));
        renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.LTE_DRX_SHORT), getTailPaint(fachOrange));
        renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.LTE_DRX_LONG), getTailPaint(fachOrange));

        renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.STATE_FACH), dchGreen);
        renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.TAIL_FACH), getTailPaint(dchGreen));

        renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.PROMO_FACH_DCH), Color.red);

        renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.WIFI_IDLE), Color.white);
        renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.WIFI_ACTIVE), fachOrange);
        renderer.setSeriesPaint(rrcDataCollection.indexOf(RRCState.WIFI_TAIL), getTailPaint(fachOrange));

        // Assign ToolTip to renderer

        final Profile profile = analysis.getAnalyzerResult().getProfile();
        renderer.setBaseToolTipGenerator(new XYToolTipGenerator() {
            @Override
            public String generateToolTip(XYDataset dataset, int series, int item) {
                RRCState eventType = (RRCState) rrcDataCollection.getSeries(series).getKey();
                final String PREFIX = "RRCTooltip.";
                if (eventType == RRCState.LTE_IDLE && profile instanceof ProfileLTE) {
                    return MessageFormat.format(ResourceBundleHelper.getMessageString(PREFIX + eventType),
                            ((ProfileLTE) profile).getIdlePingPeriod());
                }
                return ResourceBundleHelper.getMessageString(PREFIX + eventType);
            }
        });

    }

    plot.setDataset(rrcDataCollection);
    //      return plot;
}

From source file:com.att.aro.diagnostics.GraphPanel.java

private static void populateBluetoothPlot(XYPlot plot, TraceData.Analysis analysis) {

    // create the dataset...
    final XYIntervalSeriesCollection bluetoothData = new XYIntervalSeriesCollection();
    if (analysis != null) {

        XYIntervalSeries bluetoothConnected = new XYIntervalSeries(BluetoothState.BLUETOOTH_CONNECTED);
        XYIntervalSeries bluetoothDisconnected = new XYIntervalSeries(BluetoothState.BLUETOOTH_DISCONNECTED);
        XYIntervalSeries bluetoothOff = new XYIntervalSeries(BluetoothState.BLUETOOTH_TURNED_OFF);

        bluetoothData.addSeries(bluetoothConnected);
        bluetoothData.addSeries(bluetoothDisconnected);
        // bluetoothStateCollection.addSeries(bluetoothOff);

        // Populate the data set
        Iterator<BluetoothInfo> iter = analysis.getBluetoothInfos().iterator();
        XYIntervalSeries series;//from   ww  w .j a  v a2 s .c  o  m
        if (iter.hasNext()) {
            while (iter.hasNext()) {
                BluetoothInfo btEvent = iter.next();
                switch (btEvent.getBluetoothState()) {
                case BLUETOOTH_CONNECTED:
                    series = bluetoothConnected;
                    break;
                case BLUETOOTH_DISCONNECTED:
                    series = bluetoothDisconnected;
                    break;
                default:
                    series = bluetoothOff;
                    break;
                }
                series.add(btEvent.getBeginTimeStamp(), btEvent.getBeginTimeStamp(), btEvent.getEndTimeStamp(),
                        0.5, 0, 1);
            }

        }

        XYItemRenderer renderer = plot.getRenderer();
        renderer.setSeriesPaint(bluetoothData.indexOf(BluetoothState.BLUETOOTH_CONNECTED),
                new Color(34, 177, 76));
        renderer.setSeriesPaint(bluetoothData.indexOf(BluetoothState.BLUETOOTH_DISCONNECTED), Color.YELLOW);

        // Assign ToolTip to renderer
        renderer.setBaseToolTipGenerator(new XYToolTipGenerator() {
            @Override
            public String generateToolTip(XYDataset dataset, int series, int item) {
                BluetoothState eventType = (BluetoothState) bluetoothData.getSeries(series).getKey();
                return MessageFormat.format(rb.getString("bluetooth.tooltip"), dataset.getX(series, item),
                        ResourceBundleManager.getEnumString(eventType));
            }
        });

    }
    plot.setDataset(bluetoothData);
}

From source file:com.att.aro.ui.view.diagnostictab.plot.WifiPlot.java

@Override
public void populate(XYPlot plot, AROTraceData analysis) {
    wifiData = new XYIntervalSeriesCollection();

    if (analysis == null) {
        logger.info("didn't get analysis trace data!  ");
    } else {/*ww w.  ja v  a 2s.  c om*/
        TraceResultType resultType = analysis.getAnalyzerResult().getTraceresult().getTraceResultType();
        if (resultType.equals(TraceResultType.TRACE_FILE)) {
            logger.info("it is not contain the file ");
        } else {
            TraceDirectoryResult traceresult = (TraceDirectoryResult) analysis.getAnalyzerResult()
                    .getTraceresult();

            Map<WifiState, XYIntervalSeries> seriesMap = new EnumMap<WifiState, XYIntervalSeries>(
                    WifiState.class);
            for (WifiState eventType : WifiState.values()) {
                XYIntervalSeries series = new XYIntervalSeries(eventType);
                seriesMap.put(eventType, series);
                switch (eventType) {
                case WIFI_UNKNOWN:
                case WIFI_DISABLED:
                    // Don't chart these
                    break;
                default:
                    wifiData.addSeries(series);
                    break;
                }
            }

            // Populate the data set
            List<WifiInfo> wifiInfos = traceresult.getWifiInfos();
            final Map<Double, WifiInfo> eventMap = new HashMap<Double, WifiInfo>(wifiInfos.size());
            Iterator<WifiInfo> iter = wifiInfos.iterator();
            if (iter.hasNext()) {
                while (iter.hasNext()) {
                    WifiInfo wifiEvent = iter.next();
                    seriesMap.get(wifiEvent.getWifiState()).add(wifiEvent.getBeginTimeStamp(),
                            wifiEvent.getBeginTimeStamp(), wifiEvent.getEndTimeStamp(), 0.5, 0, 1);
                    eventMap.put(wifiEvent.getBeginTimeStamp(), wifiEvent);
                }
            }

            XYItemRenderer renderer = plot.getRenderer();
            for (WifiState eventType : WifiState.values()) {
                Color paint;
                switch (eventType) {
                case WIFI_CONNECTED:
                case WIFI_CONNECTING:
                case WIFI_DISCONNECTING:
                    paint = new Color(34, 177, 76);
                    break;
                case WIFI_DISCONNECTED:
                case WIFI_SUSPENDED:
                    paint = Color.YELLOW;
                    break;
                default:
                    paint = Color.WHITE;
                    break;
                }

                int index = wifiData.indexOf(eventType);
                if (index >= 0) {
                    renderer.setSeriesPaint(index, paint);
                }
            }

            // Assign ToolTip to renderer
            renderer.setBaseToolTipGenerator(new XYToolTipGenerator() {
                @Override
                public String generateToolTip(XYDataset dataset, int series, int item) {
                    WifiState eventType = (WifiState) wifiData.getSeries(series).getKey();

                    StringBuffer message = new StringBuffer(
                            ResourceBundleHelper.getMessageString("wifi.tooltip.prefix"));
                    message.append(MessageFormat.format(ResourceBundleHelper.getMessageString("wifi.tooltip"),
                            dataset.getX(series, item), ResourceBundleHelper.getEnumString(eventType)));
                    switch (eventType) {
                    case WIFI_CONNECTED:
                        WifiInfo info = eventMap.get(dataset.getX(series, item));
                        if (info != null && info.getWifiState() == WifiState.WIFI_CONNECTED) {
                            message.append(MessageFormat.format(
                                    ResourceBundleHelper.getMessageString("wifi.connTooltip"),
                                    info.getWifiMacAddress(), info.getWifiRSSI(), info.getWifiSSID()));
                        }
                        break;
                    default:
                        break;
                    }
                    message.append(ResourceBundleHelper.getMessageString("wifi.tooltip.suffix"));
                    return message.toString();
                }
            });
        }
    }

    plot.setDataset(wifiData);
    //      return plot;
}

From source file:com.att.aro.diagnostics.GraphPanel.java

/**
 * Creating Wakelock state for graph plot
 *//*www. ja  va 2  s  .c  o m*/
private static void populateWakelockStatePlot(XYPlot plot, TraceData.Analysis analysis) {

    final XYIntervalSeriesCollection wakelockData = new XYIntervalSeriesCollection();
    if (analysis != null) {

        XYIntervalSeries series = new XYIntervalSeries(WakelockState.WAKELOCK_ACQUIRED);
        wakelockData.addSeries(series);

        // Populate the data set
        final Map<Double, WakelockInfo> dataMap = new HashMap<Double, WakelockInfo>();
        Iterator<WakelockInfo> iter = analysis.getWakelockInfos().iterator();
        if (iter.hasNext()) {
            WakelockInfo lastEvent = iter.next();
            logger.fine("Wakelock Plotting");
            // Check whether WAKELOCK was acquired before logging begins.
            if (lastEvent.getWakelockState() == WakelockState.WAKELOCK_RELEASED) {
                series.add(0, 0, lastEvent.getBeginTimeStamp(), 0.5, 0, 1);
                dataMap.put(lastEvent.getBeginTimeStamp(), lastEvent);
            }
            while (iter.hasNext()) {
                WakelockInfo currEvent = iter.next();
                if (lastEvent.getWakelockState() == WakelockState.WAKELOCK_ACQUIRED) {
                    logger.fine("Wakelock acquired curr " + currEvent.getBeginTimeStamp());
                    logger.fine("Wakelock acquired last " + lastEvent.getBeginTimeStamp());
                    series.add(lastEvent.getBeginTimeStamp(), lastEvent.getBeginTimeStamp(),
                            currEvent.getBeginTimeStamp(), 0.5, 0, 1);
                    dataMap.put(lastEvent.getBeginTimeStamp(), lastEvent);
                }
                lastEvent = currEvent;
            }
            if (lastEvent.getWakelockState() == WakelockState.WAKELOCK_ACQUIRED) {
                series.add(lastEvent.getBeginTimeStamp(), lastEvent.getBeginTimeStamp(),
                        analysis.getTraceData().getTraceDuration(), 0.5, 0, 1);
                dataMap.put(lastEvent.getBeginTimeStamp(), lastEvent);
            }
        }

        // Assign ToolTip to renderer
        XYItemRenderer renderer = plot.getRenderer();
        renderer.setBaseToolTipGenerator(new XYToolTipGenerator() {

            @Override
            public String generateToolTip(XYDataset dataset, int series, int item) {

                WakelockInfo wi = dataMap.get(dataset.getXValue(series, item));
                if (wi != null) {

                    StringBuffer displayInfo = new StringBuffer(rb.getString("wakelock.tooltip.prefix"));
                    displayInfo.append(MessageFormat.format(rb.getString("wakelock.tooltip.content"),
                            ResourceBundleManager.getEnumString(wi.getWakelockState()),
                            wi.getBeginTimeStamp()));
                    displayInfo.append(rb.getString("wakelock.tooltip.suffix"));
                    return displayInfo.toString();
                }
                return null;
            }
        });
    }

    plot.setDataset(wakelockData);
}

From source file:com.att.aro.diagnostics.GraphPanel.java

private static void populateBurstPlot(XYPlot plot, TraceData.Analysis analysis) {

    final XYIntervalSeriesCollection burstDataCollection = new XYIntervalSeriesCollection();
    if (analysis != null) {

        Map<BurstCategory, XYIntervalSeries> seriesMap = new EnumMap<BurstCategory, XYIntervalSeries>(
                BurstCategory.class);
        final Map<BurstCategory, List<Burst>> burstMap = new HashMap<BurstCategory, List<Burst>>();
        for (BurstCategory eventType : BurstCategory.values()) {
            XYIntervalSeries series = new XYIntervalSeries(eventType);
            seriesMap.put(eventType, series);
            burstDataCollection.addSeries(series);
            burstMap.put(eventType, new ArrayList<Burst>());
        }/*  ww  w  .  j ava 2s  .co m*/
        final List<Burst> burstStates = analysis.getBurstInfos();
        Iterator<Burst> iter = burstStates.iterator();
        while (iter.hasNext()) {
            Burst currEvent = iter.next();
            if (currEvent != null) {
                BurstCategory burstState = currEvent.getBurstCategory();
                if (burstState != null) {
                    seriesMap.get(burstState).add(currEvent.getBeginTime(), currEvent.getBeginTime(),
                            currEvent.getEndTime(), 0.5, 0, 1);
                    burstMap.get(burstState).add(currEvent);
                }
            }
        }

        Color myGreen = new Color(34, 177, 76);
        Color lightGreen = new Color(134, 232, 162);

        XYItemRenderer renderer = plot.getRenderer();
        renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.TCP_PROTOCOL), Color.blue);
        renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.TCP_LOSS_OR_DUP), Color.black);
        renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.USER_INPUT), myGreen);
        renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.SCREEN_ROTATION), lightGreen);
        renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.CLIENT_APP), Color.red);
        renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.SERVER_NET_DELAY), Color.yellow);
        renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.LONG), Color.gray);
        renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.PERIODICAL), Color.magenta);
        renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.CPU), Color.cyan);
        renderer.setSeriesPaint(burstDataCollection.indexOf(BurstCategory.UNKNOWN), Color.darkGray);

        // Assign ToolTip to renderer
        renderer.setBaseToolTipGenerator(new XYToolTipGenerator() {
            @Override
            public String generateToolTip(XYDataset dataset, int series, int item) {
                BurstCategory eventType = (BurstCategory) burstDataCollection.getSeries(series).getKey();
                Burst b = burstMap.get(eventType).get(item);
                final String PREFIX = "BurstCategory.";
                return MessageFormat.format(rb.getString(PREFIX + eventType.ordinal()), b.getPackets().size(),
                        b.getBurstBytes(), b.getBurstThroughPut());
            }
        });

    }

    plot.setDataset(burstDataCollection);
}