⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datasetutilities.java

📁 GridSphere 门户 提供一个基于 portlet 的高级开放源代码门户。GridSphere 是在欧盟提供基金的 GridLab 项目下开发的
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package org.gridsphere.services.core.charts;import org.exolab.castor.xml.MarshalException;import org.exolab.castor.xml.ValidationException;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.lang.reflect.InvocationTargetException;import java.util.Date;import java.util.Enumeration;import java.util.List;/** * @author <a href="mailto:tkucz@icis.pcz.pl">Tomasz Kuczynski</a> * @version $Id: DatasetUtilities.java 4496 2006-02-08 20:27:04Z wehrens $ */public class DatasetUtilities {    public static org.jfree.data.DefaultPieDataset readDefaultPieDataset(File file) throws IOException, MarshalException, ValidationException {        FileReader reader = new FileReader(file);        DefaultPieDataset dataset = (DefaultPieDataset) DefaultPieDataset.unmarshal(reader);        reader.close();        org.jfree.data.DefaultPieDataset outDataset = new org.jfree.data.DefaultPieDataset();        for (int i = 0; i < dataset.getItemCount(); ++i) {            Item item = dataset.getItem(i);            if (item.getValue() != null)                outDataset.setValue(item.getKey(), Double.parseDouble(item.getValue()));            else                outDataset.setValue(item.getKey(), null);        }        return outDataset;    }    public static void writeDefaultPieDataset(File file, org.jfree.data.DefaultPieDataset inDataset) throws IOException, MarshalException, ValidationException {        DefaultPieDataset dataset = new DefaultPieDataset();        List keys = inDataset.getKeys();        for (int i = 0; i < keys.size(); i++) {            String key = (String) keys.get(i);            Number value = inDataset.getValue(key);            Item item = new Item();            item.setKey(key);            if(value!=null)                item.setValue(value.toString());            dataset.addItem(item);        }        FileWriter output = new FileWriter(file);        dataset.marshal(output);        output.flush();        output.close();    }    public static org.jfree.data.DefaultCategoryDataset readDefaultCategoryDataset(File file) throws IOException, MarshalException, ValidationException {        FileReader reader = new FileReader(file);        DefaultCategoryDataset dataset = (DefaultCategoryDataset) DefaultCategoryDataset.unmarshal(reader);        reader.close();        org.jfree.data.DefaultCategoryDataset outDataset = new org.jfree.data.DefaultCategoryDataset();        for (int i = 0; i < dataset.getSeriesCount(); ++i) {            Series serie = dataset.getSeries(i);            for (int j = 0; j < serie.getItemCount(); ++j) {                Item item = serie.getItem(j);                if (item.getValue() != null)                    outDataset.addValue(Double.parseDouble(item.getValue()), serie.getName(), item.getKey());                else                    outDataset.addValue(null, serie.getName(), item.getKey());            }        }        return outDataset;    }    public static void writeDefaultCategoryDataset(File file, org.jfree.data.DefaultCategoryDataset inDataset) throws IOException, MarshalException, ValidationException {        DefaultCategoryDataset dataset = new DefaultCategoryDataset();        List rowKeys = inDataset.getRowKeys();        List columnKeys = inDataset.getColumnKeys();        for (int i = 0; i < rowKeys.size(); i++) {            String rowKey = (String) rowKeys.get(i);            Series series = new Series();            series.setName(rowKey);            for (int j = 0; j < columnKeys.size(); j++) {                String columnKey = (String) columnKeys.get(j);                Number value = inDataset.getValue(rowKey, columnKey);                Item item = new Item();                item.setKey(columnKey);                if(value!=null)                    item.setValue(value.toString());                series.addItem(item);            }            dataset.addSeries(series);        }        FileWriter output = new FileWriter(file);        dataset.marshal(output);        output.flush();        output.close();    }    public static org.jfree.data.XYSeriesCollection readXYSeriesCollection(File file) throws IOException, ValidationException, MarshalException {        FileReader reader = new FileReader(file);        XYSeriesCollection dataset = (XYSeriesCollection) XYSeriesCollection.unmarshal(reader);        reader.close();        org.jfree.data.XYSeriesCollection outDataset = new org.jfree.data.XYSeriesCollection();        if (dataset.hasIntervalWidth())            outDataset.setIntervalWidth(dataset.getIntervalWidth());        if (dataset.hasIntervalPositionFactor())            outDataset.setIntervalPositionFactor(dataset.getIntervalPositionFactor());        if (dataset.hasAutoWidth())            outDataset.setAutoWidth(dataset.getAutoWidth());        Enumeration series = dataset.enumerateXYSeries();        while (series.hasMoreElements()) {            XYSeries serie = (XYSeries) series.nextElement();            org.jfree.data.XYSeries outSeries = new org.jfree.data.XYSeries(serie.getName());            if (serie.hasMaximumItemCount())                outSeries.setMaximumItemCount(serie.getMaximumItemCount());            if (serie.getDescription() != null)                outSeries.setDescription(serie.getDescription());            for (int i = 0; i < serie.getXYSeriesItemCount(); ++i) {                XYSeriesItem item = serie.getXYSeriesItem(i);                if (item.hasYValue())                    outSeries.add(item.getXValue(), item.getYValue());                else                    outSeries.add(item.getXValue(), null);            }            outDataset.addSeries(outSeries);        }        return outDataset;    }    public static void writeXYSeriesCollection(File file, org.jfree.data.XYSeriesCollection inDataset) throws IOException, MarshalException, ValidationException {        XYSeriesCollection dataset = new XYSeriesCollection();        dataset.setIntervalWidth(inDataset.getIntervalWidth());        dataset.setIntervalPositionFactor(inDataset.getIntervalPositionFactor());        dataset.setAutoWidth(inDataset.isAutoWidth());        for (int i = 0; i < inDataset.getSeriesCount(); ++i) {            String name = inDataset.getSeriesName(i);            String description = inDataset.getSeries(i).getDescription();            int maximumItemCount = inDataset.getSeries(i).getMaximumItemCount();            XYSeries series = new XYSeries();            if (description != null)                series.setDescription(description);            if (maximumItemCount != Integer.MAX_VALUE)                series.setMaximumItemCount(maximumItemCount);            series.setName(name);            for (int j = 0; j < inDataset.getItemCount(i); ++j) {                XYSeriesItem item = new XYSeriesItem();                item.setXValue(inDataset.getXValue(i, j).doubleValue());                if (inDataset.getYValue(i, j) != null)                    item.setYValue(inDataset.getYValue(i, j).doubleValue());                series.addXYSeriesItem(item);            }            dataset.addXYSeries(series);        }        FileWriter output = new FileWriter(file);        dataset.marshal(output);        output.flush();        output.close();    }    public static org.jfree.data.time.TimeSeriesCollection readTimeSeriesCollection(File file) throws IOException, MarshalException, ValidationException, org.jfree.data.SeriesException {        FileReader reader = new FileReader(file);        TimeSeriesCollection dataset = (TimeSeriesCollection) TimeSeriesCollection.unmarshal(reader);        reader.close();        org.jfree.data.time.TimeSeriesCollection outDataset = new org.jfree.data.time.TimeSeriesCollection();        String xPosition = dataset.getXPosition();        if (xPosition != null)            outDataset.setXPosition(xPosition.equals("TimePeriodAnchor.START") ?                    org.jfree.data.time.TimePeriodAnchor.START : (                    xPosition.equals("TimePeriodAnchor.END") ?                    org.jfree.data.time.TimePeriodAnchor.END :                    org.jfree.data.time.TimePeriodAnchor.MIDDLE                    ));        if (dataset.hasDomainIsPointsInTime())            outDataset.setDomainIsPointsInTime(dataset.getDomainIsPointsInTime());        Enumeration series = dataset.enumerateTimeSeries();        while (series.hasMoreElements()) {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -