Java tutorial
/** * Copyright (c) 2015, Intel Corporation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * Neither the name of Intel Corporation nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /******************************************************************************* * I N T E L C O R P O R A T I O N * * Functional Group: Fabric Viewer Application * * File Name: TrafficChartsCreator.java * * Archive Source: $Source$ * * Archive Log: $Log$ * Archive Log: Revision 1.7 2015/08/17 18:54:25 jijunwan * Archive Log: PR 129983 - Need to change file header's copyright text to BSD license txt * Archive Log: - changed frontend files' headers * Archive Log: * Archive Log: Revision 1.6 2015/05/14 17:43:09 jijunwan * Archive Log: PR 127700 - Delta data on host performance display is accumulating * Archive Log: - corrected delta value calculation * Archive Log: - changed to display data/pkts rate rather than delta on chart and table * Archive Log: - updated chart unit to show rate * Archive Log: - renamed the following classes to reflect we are dealing with rate * Archive Log: DataChartRangeUpdater -> DataRateChartRangeUpdater * Archive Log: PacketChartRangeUpdater -> PacketRateChartRangeUpdater * Archive Log: DataChartScaleGroupManager -> DataRateChartScaleGroupManager * Archive Log: PacketChartScaleGroupManager -> PacketRateChartScaleGroupManager * Archive Log: * Archive Log: Revision 1.5 2015/02/18 17:30:45 jypak * Archive Log: PR 126999 Graph names are changed to include 'Delta' in the middle of the names. Also, added tool tips to the title label, so when a user hover the mouse to the title (for combo box selection of charts, hover on the label values), the explanation about the charts pops up. * Archive Log: * Archive Log: Revision 1.4 2014/10/02 22:16:58 jijunwan * Archive Log: fixed string comparison issues * Archive Log: * Archive Log: Revision 1.3 2014/07/22 18:39:43 jijunwan * Archive Log: moved IChartCreator to common package * Archive Log: * Archive Log: Revision 1.2 2014/05/29 03:07:05 jijunwan * Archive Log: minor adjustment on performance subpage * Archive Log: * Archive Log: Revision 1.1 2014/05/09 14:17:17 jijunwan * Archive Log: moved JFreeChart to view side, controller side only take care dataset * Archive Log: * * Overview: * * @author: jijunwan * ******************************************************************************/ package com.intel.stl.ui.monitor.view; import org.jfree.chart.JFreeChart; import org.jfree.chart.axis.NumberAxis; import org.jfree.data.general.Dataset; import org.jfree.data.xy.XYDataset; import com.intel.stl.ui.common.STLConstants; import com.intel.stl.ui.common.view.ComponentFactory; import com.intel.stl.ui.common.view.IChartCreator; public class TrafficChartsCreator implements IChartCreator { private static final TrafficChartsCreator instance = new TrafficChartsCreator(); private TrafficChartsCreator() { } public static TrafficChartsCreator instance() { return instance; } /* * (non-Javadoc) * * @see * com.intel.stl.ui.main.view.IChartCreator#createChart(java.lang.String, * org.jfree.data.general.Dataset) */ @Override public JFreeChart createChart(String name, Dataset dataset) { if (STLConstants.K0828_REC_PACKETS_RATE.getValue().equals(name) || STLConstants.K0829_TRAN_PACKETS_RATE.getValue().equals(name)) { return getPacketsRateChart(dataset); } else if (STLConstants.K0830_REC_DATA_RATE.getValue().equals(name) || STLConstants.K0831_TRAN_DATA_RATE.getValue().equals(name)) { return getDataRateChart(dataset); } return null; } protected JFreeChart getPacketsRateChart(Dataset dataset) { JFreeChart chart = ComponentFactory.createXYAreaChart(STLConstants.K0035_TIME.getValue(), STLConstants.K0750_PPS.getValue(), (XYDataset) dataset, false); NumberAxis rangeAxis = (NumberAxis) chart.getXYPlot().getRangeAxis(); rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); rangeAxis.setAutoRangeIncludesZero(false); return chart; } protected JFreeChart getDataRateChart(Dataset dataset) { JFreeChart chart = ComponentFactory.createXYAreaChart(STLConstants.K0035_TIME.getValue(), STLConstants.K0703_MB_PER_SEC.getValue(), (XYDataset) dataset, false); NumberAxis rangeAxis = (NumberAxis) chart.getXYPlot().getRangeAxis(); rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); rangeAxis.setAutoRangeIncludesZero(false); return chart; } }