use of org.jfree.chart.plot.XYPlot in project cubrid-manager by CUBRID.
the class HostSystemMonitorHistoryViewPart method fireChartSetting.
/**
* This method is responsible for preparing data for ChartSettingDlg and
* dealing with the results of chartSettingDlg
*
*/
private void fireChartSetting() {
ChartSettingDlg chartSettingDlg = new ChartSettingDlg(composite.getShell());
chartSettingDlg.setHasTitlSetting(false);
chartSettingDlg.setHasHistoryPath(true);
chartSettingDlg.setHasAxisSetting(false);
chartSettingDlg.setHasChartSelection(true);
chartSettingDlg.setHasSeriesItemSetting(false);
// plot appearance
XYPlot cpuSeriesPlot = cpuChart.getSeriesChart().getXYPlot();
String plotBgColor = CommonUITool.trimPaintColor(cpuSeriesPlot.getBackgroundPaint().toString());
String plotDomainGridColor = CommonUITool.trimPaintColor(cpuSeriesPlot.getDomainGridlinePaint().toString());
String plotRangGridColor = CommonUITool.trimPaintColor(cpuSeriesPlot.getRangeGridlinePaint().toString());
chartSettingDlg.setPlotBgColor(plotBgColor);
chartSettingDlg.setPlotDomainGridColor(plotDomainGridColor);
chartSettingDlg.setPlotRangGridColor(plotRangGridColor);
// history path
chartSettingDlg.setHistoryPath(historyPath);
chartSettingDlg.setHistoryFileName(historyFileName);
// chart selection
chartSettingDlg.setChartSelectionLst(getSelectedCharts());
if (chartSettingDlg.open() == Dialog.OK) {
// plot appearance
plotBgColor = chartSettingDlg.getPlotBgColor();
plotDomainGridColor = chartSettingDlg.getPlotDomainGridColor();
plotRangGridColor = chartSettingDlg.getPlotRangGridColor();
XYPlot memorySeriesPlot = (XYPlot) memoryChart.getSeriesChart().getPlot();
XYPlot iowaitSeriesPlot = (XYPlot) iowaitChart.getSeriesChart().getPlot();
// history path
String newHistoryPath = chartSettingDlg.getHistoryPath();
isChangedHistoryPath = historyPath.equals(newHistoryPath) ? false : true;
if (isChangedHistoryPath) {
historyPath = newHistoryPath;
historyFileHelp.setHistoryPath(historyPath);
}
int red = 0;
int green = 0;
int blue = 0;
//background
red = getColorElem(plotBgColor, 0);
green = getColorElem(plotBgColor, 1);
blue = getColorElem(plotBgColor, 2);
Color bgColor = new Color(red, green, blue);
//cpu chart
cpuSeriesPlot.setBackgroundPaint(bgColor);
//memoryChart
memorySeriesPlot.setBackgroundPaint(bgColor);
//iowaitChart
iowaitSeriesPlot.setBackgroundPaint(bgColor);
//DomainGridColor
//broker Chart
red = getColorElem(plotDomainGridColor, 0);
green = getColorElem(plotDomainGridColor, 1);
blue = getColorElem(plotDomainGridColor, 2);
Color domainGridlineColor = new Color(red, green, blue);
//cpu chart
cpuSeriesPlot.setDomainGridlinePaint(domainGridlineColor);
//memoryChart
memorySeriesPlot.setDomainGridlinePaint(domainGridlineColor);
//delayChart
iowaitSeriesPlot.setDomainGridlinePaint(domainGridlineColor);
//RangeGridColor
red = getColorElem(plotRangGridColor, 0);
green = getColorElem(plotRangGridColor, 1);
blue = getColorElem(plotRangGridColor, 2);
Color rangeGridColor = new Color(red, green, blue);
//cpu chart
cpuSeriesPlot.setRangeGridlinePaint(rangeGridColor);
//memoryChart
memorySeriesPlot.setRangeGridlinePaint(rangeGridColor);
//delayChart
iowaitSeriesPlot.setRangeGridlinePaint(rangeGridColor);
//chart Selection
fireChartSelection(chartSettingDlg.getChartSelectionLst());
}
}
use of org.jfree.chart.plot.XYPlot in project cubrid-manager by CUBRID.
the class DbStatusHistoryViewPart method createPartControl.
/**
* Creates the SWT controls for this workbench part.
*
* @param parent the parent control
* @see IWorkbenchPart
*/
public void createPartControl(Composite parent) {
final Composite composite = new Composite(parent, SWT.RESIZE);
composite.setLayout(new GridLayout());
composite.setLayoutData(new GridData(GridData.FILL_BOTH));
final HistoryComposite historyComposite = new HistoryComposite();
historyComposite.loadTimeSelection(composite);
serverInfo = cubridNode.getServer().getServerInfo();
Label sepWithResult = new Label(composite, SWT.SEPARATOR | SWT.HORIZONTAL | SWT.SHADOW_OUT);
sepWithResult.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
DbStatDumpData dbStatDumpData = new DbStatDumpData();
TreeMap<String, String> map = new TreeMap<String, String>();
for (Map.Entry<IDiagPara, String> entry : dbStatDumpData.getDiagStatusResultMap().entrySet()) {
map.put(entry.getKey().getName(), entry.getValue());
}
chartPart = new ChartCompositePart(composite, map);
dbCombo = new DbComboContribution("database");
List<String> databaseLst = new ArrayList<String>();
List<DatabaseInfo> databaseInfoLst = serverInfo.getLoginedUserInfo().getDatabaseInfoList();
if (null != databaseInfoLst && !databaseInfoLst.isEmpty()) {
for (DatabaseInfo databaseInfo : databaseInfoLst) {
databaseLst.add(databaseInfo.getDbName());
}
dbCombo.setDatabaseLst(databaseLst);
if (!databaseLst.isEmpty()) {
dbCombo.setSelectedDb(databaseLst.get(0));
}
}
for (Map.Entry<String, String> entry : map.entrySet()) {
String key = entry.getKey();
ShowSetting showSetting = chartPart.getSettingMap().get(key);
ShowSettingMatching.match(key, showSetting, MonitorType.DATABASE);
}
chartPart.setChartTitle(Messages.databaseHistoryChartTtl);
String dbName = dbCombo.getSelectedDb();
String hostAddress = serverInfo.getHostAddress();
int monPort = serverInfo.getHostMonPort();
String historyFileName = HistoryComposite.DB_HISTORY_FILE_PREFIX + dbName + "@" + hostAddress + "_" + monPort + HistoryComposite.HISTORY_SUFFIX;
chartPart.setHistoryFileName(historyFileName);
IPath historyPath = CubridManagerCorePlugin.getDefault().getStateLocation();
String sHistoryPath = historyPath.toOSString() + File.separator + historyFileName;
chartPart.setHistoryPath(sHistoryPath);
chartPart.loadContent();
chartPart.addChartMouseListener();
makeActions();
historyComposite.getQueryBtn().addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(SelectionEvent ex) {
String date = historyComposite.getDate();
String fromTime = historyComposite.getFromTime();
String toTime = historyComposite.getToTime();
// check date/fromTime/toTime
boolean timeOrder = historyComposite.checkTime(date, fromTime, toTime);
if (!timeOrder) {
CommonUITool.openErrorBox(Messages.errDbHistorySettingTime);
return;
}
String[] ymd = date.split("-");
int year = Integer.valueOf(ymd[0]);
int month = Integer.valueOf(ymd[1]);
int day = Integer.valueOf(ymd[2]);
String[] fromHms = fromTime.split(":");
int fromHour = Integer.valueOf(fromHms[0]);
int fromMinute = Integer.valueOf(fromHms[1]);
int fromSecond = Integer.valueOf(fromHms[2]);
Calendar calFrom = Calendar.getInstance();
calFrom.set(year, month, day, fromHour, fromMinute, fromSecond);
long millisFrom = calFrom.getTimeInMillis();
String[] toHms = toTime.split(":");
int toHour = Integer.valueOf(toHms[0]);
int toMinute = Integer.valueOf(toHms[1]);
int toSecond = Integer.valueOf(toHms[2]);
Calendar calTo = Calendar.getInstance();
calTo.set(year, month, day, toHour, toMinute, toSecond);
long millisTo = calTo.getTimeInMillis();
XYPlot plot = (XYPlot) chartPart.getChart().getPlot();
plot.getDomainAxis().setRange(millisFrom, millisTo);
CounterFile countFile = chartPart.openHistoryFile();
if (countFile == null) {
return;
}
List<String> types = new ArrayList<String>();
for (DbStatDumpEnum diagName : DbStatDumpEnum.values()) {
String type = diagName.getName();
types.add(type);
}
chartPart.executeQueryWithBusyCursor(countFile, types, millisFrom, millisTo);
try {
countFile.close();
} catch (IOException e1) {
LOGGER.error(e1.getMessage());
}
}
public void widgetSelected(SelectionEvent ex) {
widgetDefaultSelected(ex);
}
});
}
use of org.jfree.chart.plot.XYPlot in project cubrid-manager by CUBRID.
the class ChartCompositePart method updateChart.
/**
* Update the plot in chart from scratch.
*
*/
public void updateChart() {
XYPlot plot = (XYPlot) (getChart().getPlot());
TimeSeriesCollection timeseriescollection = (TimeSeriesCollection) (plot.getDataset());
timeseriescollection.removeAllSeries();
XYLineAndShapeRenderer xylineandshaperenderer = (XYLineAndShapeRenderer) plot.getRenderer();
seriesMap.clear();
int number = 0;
for (Map.Entry<String, String> entry : valueMap.entrySet()) {
String key = entry.getKey();
TimeSeries series = new TimeSeries(key);
seriesMap.put(key, series);
if (settingMap.get(key).isChecked()) {
timeseriescollection.addSeries(series);
RGB seriesRgb = settingMap.get(key).getSeriesRgb();
float width = settingMap.get(key).getWidth();
Color color = new Color(seriesRgb.red, seriesRgb.green, seriesRgb.blue);
xylineandshaperenderer.setSeriesPaint(number, color);
xylineandshaperenderer.setSeriesStroke(number, new BasicStroke(width, 0, 2));
number++;
}
}
}
use of org.jfree.chart.plot.XYPlot in project cubrid-manager by CUBRID.
the class StatusMonitorViewPart method createChart.
/**
* Creates chart unit
*
* @param unitNumber the number of unit
* @return JFreeChart
*/
private JFreeChart createChart(int unitNumber) {
String currentLbl = "Current";
current[unitNumber] = new TimeSeries(currentLbl);
current[unitNumber].setMaximumItemAge(18000000);
String minLbl = "Min";
minimum[unitNumber] = new TimeSeries(minLbl);
minimum[unitNumber].setMaximumItemAge(18000000);
String maxLbl = "Max";
maximum[unitNumber] = new TimeSeries(maxLbl);
maximum[unitNumber].setMaximumItemAge(18000000);
String avgLbl = "Avg";
average[unitNumber] = new TimeSeries(avgLbl);
average[unitNumber].setMaximumItemAge(18000000);
TimeSeriesCollection timeseriescollection = new TimeSeriesCollection();
timeseriescollection.addSeries(current[unitNumber]);
timeseriescollection.addSeries(minimum[unitNumber]);
timeseriescollection.addSeries(maximum[unitNumber]);
timeseriescollection.addSeries(average[unitNumber]);
DateAxis dateaxis = new DateAxis("");
NumberAxis numberaxis = new NumberAxis("");
dateaxis.setTickLabelFont(new Font("SansSerif", 0, 10));
dateaxis.setLabelFont(new Font("SansSerif", 0, 7));
XYLineAndShapeRenderer xylineandshaperenderer = new XYLineAndShapeRenderer(true, false);
xylineandshaperenderer.setSeriesPaint(0, new Color(146, 208, 80));
xylineandshaperenderer.setSeriesPaint(1, new Color(166, 166, 166));
xylineandshaperenderer.setSeriesPaint(2, new Color(74, 126, 187));
xylineandshaperenderer.setSeriesPaint(3, new Color(255, 51, 0));
xylineandshaperenderer.setSeriesStroke(0, new BasicStroke(2F, 0, 2));
xylineandshaperenderer.setSeriesStroke(3, new BasicStroke(2F, 0, 2));
XYPlot xyplot = new XYPlot(timeseriescollection, dateaxis, numberaxis, xylineandshaperenderer);
xyplot.setBackgroundPaint(Color.BLACK);
xyplot.setDomainGridlinePaint(new Color(130, 130, 130));
xyplot.setRangeGridlinePaint(new Color(130, 130, 130));
dateaxis.setFixedAutoRange(300000d);
dateaxis.setLowerMargin(0.0D);
dateaxis.setUpperMargin(0.0D);
dateaxis.setTickLabelsVisible(true);
numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
JFreeChart chart = new JFreeChart(monitorList.get(unitNumber).getChartTitle(), new Font("SansSerif", 1, 15), xyplot, false);
return chart;
}
use of org.jfree.chart.plot.XYPlot in project cubrid-manager by CUBRID.
the class CombinedBarTimeSeriesChart method createSeriesChart.
/**
* Create the series chart
*
* @return an instance of series chart
*/
private JFreeChart createSeriesChart() {
if (isAreaRender) {
seriesdataset = createTableSeriesDataset();
} else {
seriesdataset = createTimeSeriesDataset();
}
JFreeChart chart = ChartFactory.createTimeSeriesChart("", "", "", seriesdataset, false, false, false);
chart.setBorderVisible(false);
chart.setBorderStroke(new BasicStroke(0.0f));
//plot
XYPlot xyplot = (XYPlot) chart.getPlot();
xyplot.setOutlineVisible(false);
RectangleInsets rectangleInsets = new RectangleInsets();
xyplot.setAxisOffset(rectangleInsets);
xyplot.setDomainGridlineStroke(new BasicStroke(0.4f));
xyplot.setRangeGridlineStroke(new BasicStroke(0.4f));
xyplot.setBackgroundPaint(Color.BLACK);
xyplot.setDomainGridlinePaint(new Color(0, 128, 64));
xyplot.setRangeGridlinePaint(new Color(0, 128, 64));
if (isAreaRender) {
XYAreaRenderer2 render = new StackedXYAreaRenderer2();
render.setSeriesPaint(0, Color.GREEN);
render.setSeriesPaint(1, Color.RED);
xyplot.setRenderer(render);
} else {
XYLineAndShapeRenderer render = (XYLineAndShapeRenderer) xyplot.getRenderer();
render.setSeriesPaint(0, Color.GREEN);
render.setSeriesPaint(1, Color.RED);
}
//dateAxis
DateAxis dateaxis = (DateAxis) xyplot.getDomainAxis();
dateaxis.setFixedAutoRange(300000d);
dateaxis.setLowerMargin(0.0D);
dateaxis.setUpperMargin(0.0D);
dateaxis.setVisible(isShowSeriesAxis);
numberaxis = (NumberAxis) xyplot.getRangeAxis();
numberaxis.setVisible(isShowSeriesAxis);
numberaxis.setRange(0 - 0.5, barMax + 0.5);
return chart;
}
Aggregations