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

📄 datasetutilities.java

📁 GridSphere 门户 提供一个基于 portlet 的高级开放源代码门户。GridSphere 是在欧盟提供基金的 GridLab 项目下开发的
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            TimeSeries serie = (TimeSeries) series.nextElement();            org.jfree.data.time.TimeSeries outSeries = null;            long milliseconds = serie.getTimeSeriesItem(0).getEnd() - serie.getTimeSeriesItem(0).getStart();            String className = "org.jfree.data.time.";            if (milliseconds == (long) 999) {                outSeries = new org.jfree.data.time.TimeSeries(serie.getName(), org.jfree.data.time.Second.class);                className += "Second";            } else if (milliseconds == (long) 60 * 1000 - 1) {                outSeries = new org.jfree.data.time.TimeSeries(serie.getName(), org.jfree.data.time.Minute.class);                className += "Minute";            } else if (milliseconds == (long) 60 * 60 * 1000 - 1) {                outSeries = new org.jfree.data.time.TimeSeries(serie.getName(), org.jfree.data.time.Hour.class);                className += "Hour";            } else if (milliseconds == (long) 24 * 60 * 60 * 1000 - 1) {                outSeries = new org.jfree.data.time.TimeSeries(serie.getName(), org.jfree.data.time.Day.class);                className += "Day";            } else if (milliseconds == (long) 7 * 24 * 60 * 60 * 1000 - 1) {                outSeries = new org.jfree.data.time.TimeSeries(serie.getName(), org.jfree.data.time.Week.class);                className += "Week";            } else if ((long) 27 * 24 * 60 * 60 * 1000 < milliseconds && milliseconds < (long) 32 * 24 * 60 * 60 * 1000) {                outSeries = new org.jfree.data.time.TimeSeries(serie.getName(), org.jfree.data.time.Month.class);                className += "Month";            } else if ((long) 88 * 24 * 60 * 60 * 1000 < milliseconds && milliseconds < (long) 93 * 24 * 60 * 60 * 1000) {                outSeries = new org.jfree.data.time.TimeSeries(serie.getName(), org.jfree.data.time.Quarter.class);                className += "Quarter";            } else if ((long) 363 * 24 * 60 * 60 * 1000 < milliseconds && milliseconds < (long) 366 * 24 * 60 * 60 * 1000) {                outSeries = new org.jfree.data.time.TimeSeries(serie.getName(), org.jfree.data.time.Year.class);                className += "Year";            } else {                outSeries = new org.jfree.data.time.TimeSeries(serie.getName(), org.jfree.data.time.FixedMillisecond.class);                className += "FixedMillisecond";            }            if (serie.hasMaximumItemCount())                outSeries.setMaximumItemCount(serie.getMaximumItemCount());            if (serie.hasHistoryCount())                outSeries.setHistoryCount(serie.getHistoryCount());            if (serie.getDescription() != null)                outSeries.setDescription(serie.getDescription());            if (serie.getDomainDescription() != null)                outSeries.setDomainDescription(serie.getDomainDescription());            if (serie.getRangeDescription() != null)                outSeries.setRangeDescription(serie.getRangeDescription());            for (int i = 0; i < serie.getTimeSeriesItemCount(); ++i) {                TimeSeriesItem item = serie.getTimeSeriesItem(i);                try {                    if (item.hasValue())                        outSeries.add((org.jfree.data.time.RegularTimePeriod) Class.forName(className).getConstructor(new Class[]{Date.class}).newInstance(new Object[]{new Date(item.getStart())}),                                item.getValue());                    else                        outSeries.add((org.jfree.data.time.RegularTimePeriod) Class.forName(className).getConstructor(new Class[]{Date.class}).newInstance(new Object[]{new Date(item.getStart())}),                                null);                } catch (NoSuchMethodException e) {                } catch (IllegalAccessException e) {                } catch (InvocationTargetException e) {                } catch (ClassNotFoundException e) {                } catch (InstantiationException e) {                }            }            outDataset.addSeries(outSeries);        }        return outDataset;    }    public static void writeTimeSeriesCollection(File file, org.jfree.data.time.TimeSeriesCollection inDataset) throws IOException, MarshalException, ValidationException {        TimeSeriesCollection dataset = new TimeSeriesCollection();        dataset.setXPosition(inDataset.getXPosition().toString());        dataset.setDomainIsPointsInTime(inDataset.getDomainIsPointsInTime());        for (int i = 0; i < inDataset.getSeriesCount(); ++i) {            org.jfree.data.time.TimeSeries serie = inDataset.getSeries(i);            String name = serie.getName();            TimeSeries series = new TimeSeries();            series.setName(name);            String description = serie.getDescription();            String rangeDescription = serie.getRangeDescription();            String domainDescription = serie.getDomainDescription();            int maximumItemCount = serie.getMaximumItemCount();            int historyCount = serie.getHistoryCount();            if (description != null)                series.setDescription(description);            if (rangeDescription != null)                series.setRangeDescription(rangeDescription);            if (domainDescription != null)                series.setDomainDescription(domainDescription);            if (maximumItemCount != Integer.MAX_VALUE)                series.setMaximumItemCount(maximumItemCount);            if (historyCount != 0)                series.setHistoryCount(historyCount);            for (int j = 0; j < inDataset.getItemCount(i); ++j) {                org.jfree.data.time.TimeSeriesDataItem inItem = serie.getDataItem(j);                TimeSeriesItem item = new TimeSeriesItem();                item.setStart(inItem.getPeriod().getStart().getTime());                item.setEnd(inItem.getPeriod().getEnd().getTime());                if (inItem.getValue() != null)                    item.setValue(inItem.getValue().doubleValue());                series.addTimeSeriesItem(item);            }            dataset.addTimeSeries(series);        }        FileWriter output = new FileWriter(file);        dataset.marshal(output);        output.flush();        output.close();    }    public static org.jfree.data.gantt.TaskSeriesCollection readTaskSeriesCollection(File file) throws IOException, MarshalException, ValidationException{        FileReader reader = new FileReader(file);        TaskSeriesCollection dataset = (TaskSeriesCollection) TaskSeriesCollection.unmarshal(reader);        reader.close();        org.jfree.data.gantt.TaskSeriesCollection outDataset = new org.jfree.data.gantt.TaskSeriesCollection();        Enumeration series=dataset.enumerateTaskSeries();        while (series.hasMoreElements()) {            TaskSeries serie =  (TaskSeries) series.nextElement();            org.jfree.data.gantt.TaskSeries outSeries=new org.jfree.data.gantt.TaskSeries(serie.getName());            for(int j=0; j<serie.getTaskCount();++j){                Task task=serie.getTask(j);                org.jfree.data.gantt.Task outTask=new org.jfree.data.gantt.Task(task.getDescription(),                        new Date(task.getDuration().getStart()),                        new Date(task.getDuration().getEnd())                );                if(task.hasPercentComplete())                    outTask.setPercentComplete(task.getPercentComplete());                for(int k=0; k<task.getSubtaskCount();++k){                    Subtask subtask=task.getSubtask(k);                    org.jfree.data.gantt.Task outSubtask=new org.jfree.data.gantt.Task(task.getDescription(),                        new Date(subtask.getDuration().getStart()),                        new Date(subtask.getDuration().getEnd())                    );                    if(subtask.hasPercentComplete())                        outSubtask.setPercentComplete(subtask.getPercentComplete());                    outTask.addSubtask(outSubtask);                }                outSeries.add(outTask);            }            outDataset.add(outSeries);        }        return outDataset;    }    public static void writeTaskSeriesCollection(File file, org.jfree.data.gantt.TaskSeriesCollection inDataset) throws IOException, MarshalException, ValidationException{        TaskSeriesCollection dataset=new TaskSeriesCollection();        for(int i=0; i<inDataset.getRowCount();++i){            String serieName=inDataset.getSeriesName(i);            TaskSeries series=new TaskSeries();            series.setName(serieName);            for(int j=0; j<inDataset.getColumnCount();++j){                Task task=new Task();                task.setDescription((String) inDataset.getColumnKey(j));                for(int k=0;k<inDataset.getSubIntervalCount(i,j);++k){                    Subtask subtask=new Subtask();                    subtask.setDescription((String) inDataset.getColumnKey(j));                    if(inDataset.getPercentComplete(i,j,k)!=null)                        subtask.setPercentComplete(inDataset.getPercentComplete(i,j,k).doubleValue());                    Duration duration=new Duration();                    duration.setStart(inDataset.getStartValue(i,j,k).longValue());                    duration.setEnd(inDataset.getEndValue(i,j,k).longValue());                    subtask.setDuration(duration);                    task.addSubtask(subtask);                }                if(inDataset.getPercentComplete(i,j)!=null)                    task.setPercentComplete(inDataset.getPercentComplete(i,j).doubleValue());                Duration duration=new Duration();                duration.setStart(inDataset.getStartValue(i,j).longValue());                duration.setEnd(inDataset.getEndValue(i,j).longValue());                task.setDuration(duration);                series.addTask(task);            }            dataset.addTaskSeries(series);        }        FileWriter output = new FileWriter(file);        dataset.marshal(output);        output.flush();        output.close();    }}

⌨️ 快捷键说明

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