Example usage for org.jfree.chart.entity CategoryItemEntity getDataset

List of usage examples for org.jfree.chart.entity CategoryItemEntity getDataset

Introduction

In this page you can find the example usage for org.jfree.chart.entity CategoryItemEntity getDataset.

Prototype

public CategoryDataset getDataset() 

Source Link

Document

Returns the dataset this entity refers to.

Usage

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);
    }

}