List of usage examples for org.jfree.chart.entity CategoryItemEntity getDataset
public CategoryDataset getDataset()
From source file:biz.ixnay.pivot.charts.skin.jfree.PolarChartViewSkin.java
public Element getElementAt(int x, int y) { ChartView.Element element = null; ChartEntity chartEntity = getChartEntityAt(x, y); if (chartEntity instanceof CategoryItemEntity) { CategoryItemEntity categoryItemEntity = (CategoryItemEntity) chartEntity; CategoryDataset dataset = categoryItemEntity.getDataset(); String columnKey = (String) categoryItemEntity.getColumnKey(); int columnIndex = dataset.getColumnIndex(columnKey); String rowKey = (String) categoryItemEntity.getRowKey(); int rowIndex = dataset.getRowIndex(rowKey); element = new ChartView.Element(rowIndex, columnIndex); } else if (chartEntity instanceof XYItemEntity) { XYItemEntity xyItemEntity = (XYItemEntity) chartEntity; element = new ChartView.Element(xyItemEntity.getSeriesIndex(), xyItemEntity.getItem()); }//from w w w. j a v a2s . c o m return element; }
From source file:biz.ixnay.pivot.charts.skin.jfree.AreaChartViewSkin.java
@Override public ChartView.Element getElementAt(int x, int y) { ChartView.Element element = null; ChartEntity chartEntity = getChartEntityAt(x, y); if (chartEntity instanceof CategoryItemEntity) { CategoryItemEntity categoryItemEntity = (CategoryItemEntity) chartEntity; CategoryDataset dataset = categoryItemEntity.getDataset(); String columnKey = (String) categoryItemEntity.getColumnKey(); int columnIndex = dataset.getColumnIndex(columnKey); String rowKey = (String) categoryItemEntity.getRowKey(); int rowIndex = dataset.getRowIndex(rowKey); element = new ChartView.Element(rowIndex, columnIndex); } else if (chartEntity instanceof XYItemEntity) { XYItemEntity xyItemEntity = (XYItemEntity) chartEntity; element = new ChartView.Element(xyItemEntity.getSeriesIndex(), xyItemEntity.getItem()); }//from w w w . j a v a 2 s . co m return element; }
From source file:biz.ixnay.pivot.charts.skin.jfree.LineChartViewSkin.java
@Override public ChartView.Element getElementAt(int x, int y) { ChartView.Element element = null; ChartEntity chartEntity = getChartEntityAt(x, y); if (chartEntity instanceof CategoryItemEntity) { CategoryItemEntity categoryItemEntity = (CategoryItemEntity) chartEntity; CategoryDataset dataset = categoryItemEntity.getDataset(); String columnKey = (String) categoryItemEntity.getColumnKey(); int columnIndex = dataset.getColumnIndex(columnKey); String rowKey = (String) categoryItemEntity.getRowKey(); int rowIndex = dataset.getRowIndex(rowKey); element = new ChartView.Element(rowIndex, columnIndex); } else if (chartEntity instanceof XYItemEntity) { XYItemEntity xyItemEntity = (XYItemEntity) chartEntity; element = new ChartView.Element(xyItemEntity.getSeriesIndex(), xyItemEntity.getItem()); }// ww w . j ava 2 s . c o m return element; }
From source file:org.pentaho.platform.uifoundation.chart.PieDatasetChartComponent.java
private void populateInfo(final ChartRenderingInfo info) { ArrayList keyListArray = null; int keyListIndex = 0; Iterator iter = info.getEntityCollection().iterator(); while (iter.hasNext()) { ChartEntity entity = (ChartEntity) iter.next(); if (entity instanceof PieSectionEntity) { PieSectionEntity pieSectionEntity = (PieSectionEntity) entity; String value = pieSectionEntity.getSectionKey().toString(); if (paramName == null) { pieSectionEntity.setURLText(value); } else { try { String encodedVal = URLEncoder.encode(value, LocaleHelper.getSystemEncoding()); String drillURL = TemplateUtil.applyTemplate(urlTemplate, paramName, encodedVal); pieSectionEntity.setURLText(drillURL); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); }/*from ww w .j a v a 2 s . c o m*/ } } else if (entity instanceof CategoryItemEntity) { CategoryItemEntity categoryItemEntity = (CategoryItemEntity) entity; if (keyListArray == null) { keyListArray = new ArrayList(categoryItemEntity.getDataset().getRowKeys()); } String category = categoryItemEntity.getCategory().toString(); if (paramName == null) { categoryItemEntity.setURLText(category); } else { try { String encodedVal = URLEncoder.encode(category, LocaleHelper.getSystemEncoding()); String drillURL = TemplateUtil.applyTemplate(urlTemplate, paramName, encodedVal); if (keyListIndex >= keyListArray.size()) { keyListIndex = 0; } encodedVal = URLEncoder.encode(keyListArray.get(keyListIndex).toString(), LocaleHelper.getSystemEncoding()); keyListIndex++; drillURL = TemplateUtil.applyTemplate(drillURL, paramName2, encodedVal); categoryItemEntity.setURLText(drillURL); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }
From source file:org.pentaho.platform.uifoundation.chart.CategoryDatasetChartComponent.java
private void populateCategoryItemEntity(CategoryItemEntity categoryItemEntity, List seriesListArray) { if (seriesListArray == null) { seriesListArray = new ArrayList(categoryItemEntity.getDataset().getRowKeys()); }//from www .ja v a2 s.c o m String category = categoryItemEntity.getCategory().toString(); if (paramName == null) { categoryItemEntity.setURLText(category); } else { try { String encodedVal = URLEncoder.encode(category, LocaleHelper.getSystemEncoding()); String drillURL = TemplateUtil.applyTemplate(urlTemplate, paramName, encodedVal); /********** * PLATFORM-841: get series name from categoryItemEntity tooltip ******** * * The entity collection generated by JFreeChartEngine will not always be fully populated (i.e., the entity * collection WILL NOT contain items for values that are zero (0)), because items with zero value do not * need to be drawn! So, we cannot iterate through the seriseListArray and apply values from there to the * values in the entity collection. Instead, we must use the series index contained in the entity record to * access the appropriate series name. */ // ... get the series index and use it to find the series name in // the seriesListArray ... // int seriesIndex = categoryItemEntity.getSeries(); encodedVal = Messages.getInstance().getString("CategoryDatasetChartComponent.UNKNOWN_SERIES"); //$NON-NLS-1$ if ((seriesIndex >= 0) && (seriesIndex < seriesListArray.size())) { encodedVal = URLEncoder.encode(seriesListArray.get(seriesIndex).toString(), LocaleHelper.getSystemEncoding()); } else { error(Messages.getInstance().getErrorString( "CategoryDatasetChartComponent.ERROR_0002_INVALID_SERIES_INDEX", //$NON-NLS-1$ String.valueOf(seriesIndex))); } /********** PLATFORM-841 change end **********/ if (seriesName == null) { drillURL = TemplateUtil.applyTemplate(drillURL, "SERIES", encodedVal); //$NON-NLS-1$ } else { drillURL = TemplateUtil.applyTemplate(drillURL, seriesName, encodedVal); } categoryItemEntity.setURLText(drillURL); } catch (UnsupportedEncodingException ignored) { // TODO Auto-generated catch block this.getLogger().debug(ignored); } } }
From source file:com.igalia.java.zk.components.JFreeChartEngine.java
/** * decode CategoryItemEntity into key-value pair of Area's componentScope. *//*w ww.j a v a2s.co m*/ private void decodeCategoryInfo(Area area, CategoryItemEntity info) { if (info == null) { return; } CategoryDataset dataset = info.getDataset(); Comparable category = info.getColumnKey(); Comparable series = info.getRowKey(); area.setAttribute("series", series); area.setAttribute("category", category); if (dataset instanceof GanttCategoryDataset) { final GanttCategoryDataset gd = (GanttCategoryDataset) dataset; area.setAttribute("start", gd.getStartValue(series, category)); area.setAttribute("end", gd.getEndValue(series, category)); area.setAttribute("percent", gd.getPercentComplete(series, category)); } else { area.setAttribute("value", dataset.getValue(series, category)); } }
From source file:org.amanzi.awe.charts.ui.ChartsView.java
@Override public void chartMouseClicked(final ChartMouseEvent event) { if (event == null) { return;//from w w w .j a v a 2 s . c om } Collection<String> groups = null; long startDate = Long.MIN_VALUE; long endDate = Long.MAX_VALUE; String cellName = StringUtils.EMPTY; if (event.getEntity() instanceof CategoryItemEntity) { CategoryItemEntity entity = (CategoryItemEntity) event.getEntity(); IColumn period = (IColumn) entity.getColumnKey(); ICategoryRow column = period.getItemByName((String) entity.getRowKey()); groups = column.getGroupsNames(); startDate = period.getStartDate(); endDate = period.getEndDate(); cellName = column.getName(); } else if (event.getEntity() instanceof XYItemEntity) { XYItemEntity entity = (XYItemEntity) event.getEntity(); TimeSeriesCollection dataset = (TimeSeriesCollection) entity.getDataset(); TimeSeries ts = dataset.getSeries(entity.getSeriesIndex()); ITimeRow row = (ITimeRow) ts.getKey(); RegularTimePeriod period = ts.getTimePeriod(entity.getItem()); startDate = period.getStart().getTime(); endDate = container.getPeriod().addPeriod(startDate); groups = row.getGroupsForTime(startDate); cellName = row.getName(); } else { return; } AWEEventManager.getManager().fireShowInViewEvent(model, new StatisticsFilter(container.getPeriod(), startDate, endDate, groups, cellName), this); }
From source file:org.adempiere.webui.editor.WChartEditor.java
private void render(JFreeChart chart) { ChartRenderingInfo info = new ChartRenderingInfo(); int width = 400; int height = chartModel.getWinHeight(); BufferedImage bi = chart.createBufferedImage(width, height, BufferedImage.TRANSLUCENT, info); try {/*from w w w.j ava2 s . c o m*/ byte[] bytes = EncoderUtil.encode(bi, ImageFormat.PNG, true); AImage image = new AImage("", bytes); Imagemap myImage = new Imagemap(); Panel panel = getComponent(); myImage.setContent(image); if (panel.getPanelchildren() != null) { panel.getPanelchildren().getChildren().clear(); panel.getPanelchildren().appendChild(myImage); } else { Panelchildren pc = new Panelchildren(); panel.appendChild(pc); pc.appendChild(myImage); } int count = 0; for (Iterator<?> it = info.getEntityCollection().getEntities().iterator(); it.hasNext();) { ChartEntity entity = (ChartEntity) it.next(); String key = null; String seriesName = null; if (entity instanceof CategoryItemEntity) { CategoryItemEntity item = ((CategoryItemEntity) entity); Comparable<?> colKey = item.getColumnKey(); Comparable<?> rowKey = item.getRowKey(); if (colKey != null && rowKey != null) { key = colKey.toString(); seriesName = rowKey.toString(); } } else if (entity instanceof PieSectionEntity) { Comparable<?> sectionKey = ((PieSectionEntity) entity).getSectionKey(); if (sectionKey != null) { key = sectionKey.toString(); } } if (entity instanceof XYItemEntity) { XYItemEntity item = ((XYItemEntity) entity); if (item.getDataset() instanceof TimeSeriesCollection) { TimeSeriesCollection data = (TimeSeriesCollection) item.getDataset(); TimeSeries series = data.getSeries(item.getSeriesIndex()); TimeSeriesDataItem dataitem = series.getDataItem(item.getItem()); seriesName = series.getKey().toString(); key = dataitem.getPeriod().toString(); } } if (key == null) continue; Area area = new Area(); myImage.appendChild(area); area.setCoords(entity.getShapeCoords()); area.setShape(entity.getShapeType()); area.setTooltiptext(entity.getToolTipText()); area.setId(count + "_WG__" + seriesName + "__" + key); count++; } myImage.addEventListener(Events.ON_CLICK, new EventListener() { public void onEvent(Event event) throws Exception { MouseEvent me = (MouseEvent) event; String areaId = me.getArea(); if (areaId != null) { String[] strs = areaId.split("__"); if (strs.length == 3) { chartMouseClicked(strs[2], strs[1]); } } } }); } catch (Exception e) { log.log(Level.SEVERE, "", e); } }