Example usage for org.jfree.data.gantt TaskSeriesCollection add

List of usage examples for org.jfree.data.gantt TaskSeriesCollection add

Introduction

In this page you can find the example usage for org.jfree.data.gantt TaskSeriesCollection add.

Prototype

public void add(TaskSeries series) 

Source Link

Document

Adds a series to the dataset and sends a org.jfree.data.general.DatasetChangeEvent to all registered listeners.

Usage

From source file:org.matsim.contrib.dvrp.util.chart.ScheduleChartUtils.java

private static <T extends Task> TaskSeriesCollection createScheduleDataset(List<? extends Vehicle> vehicles,
        DescriptionCreator<T> descriptionCreator) {
    TaskSeriesCollection collection = new TaskSeriesCollection();

    for (Vehicle v : vehicles) {
        @SuppressWarnings("unchecked")
        Schedule<T> schedule = (Schedule<T>) v.getSchedule();

        final TaskSeries scheduleTaskSeries = new TaskSeries(v.getId().toString());

        if (schedule.getStatus() == ScheduleStatus.UNPLANNED) {
            collection.add(scheduleTaskSeries);
            continue;
        }//from www. jav  a2  s.  c o  m

        List<T> tasks = schedule.getTasks();

        for (T t : tasks) {
            String description = descriptionCreator.create(t);

            TimePeriod duration = new SimpleTimePeriod(//
                    new Date((int) Math.floor(t.getBeginTime() * 1000)), //
                    new Date((int) Math.ceil(t.getEndTime() * 1000)));

            scheduleTaskSeries.add(new ChartTask<T>(description, duration, t));
        }

        collection.add(scheduleTaskSeries);
    }

    return collection;
}

From source file:lu.lippmann.cdb.common.gui.ts.TimeSeriesChartUtil.java

public static ChartPanel buildChartPanelForNominalAttribute(final Instances ds, final Attribute attr,
        final int dateIdx) {
    final TaskSeriesCollection localTaskSeriesCollection = new TaskSeriesCollection();
    final java.util.List<String> names = new ArrayList<String>();

    final Set<String> present = WekaDataStatsUtil.getPresentValuesForNominalAttribute(ds, attr.index());
    for (final String pr : present) {
        names.add(pr);/*from   ww  w .  j  av  a2 s.  c  om*/
        localTaskSeriesCollection.add(new TaskSeries(pr));
    }

    final Calendar cal = Calendar.getInstance();
    try {
        for (final double[] dd : WekaTimeSeriesUtil.split(ds, attr.index())) {
            cal.setTimeInMillis((long) dd[0]);
            final Date start = cal.getTime();
            cal.setTimeInMillis((long) dd[1]);
            final Date end = cal.getTime();
            final String sd = ds.instance((int) dd[2]).stringValue(attr);
            localTaskSeriesCollection.getSeries(sd).add(new Task("T", start, end));
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

    final XYTaskDataset localXYTaskDataset = new XYTaskDataset(localTaskSeriesCollection);
    localXYTaskDataset.setTransposed(true);
    localXYTaskDataset.setSeriesWidth(0.6D);

    final DateAxis localDateAxis = new DateAxis(DATE_TIME_LABEL);
    final SymbolAxis localSymbolAxis = new SymbolAxis("", names.toArray(new String[names.size()]));
    localSymbolAxis.setGridBandsVisible(false);
    final XYBarRenderer localXYBarRenderer = new XYBarRenderer();
    localXYBarRenderer.setUseYInterval(true);
    localXYBarRenderer.setShadowVisible(false);
    final XYPlot localXYPlot = new XYPlot(localXYTaskDataset, localDateAxis, localSymbolAxis,
            localXYBarRenderer);

    final CombinedDomainXYPlot localCombinedDomainXYPlot = new CombinedDomainXYPlot(
            new DateAxis(DATE_TIME_LABEL));
    localCombinedDomainXYPlot.add(localXYPlot);
    final JFreeChart localJFreeChart = new JFreeChart("", localCombinedDomainXYPlot);
    localJFreeChart.setBackgroundPaint(Color.white);

    final ChartPanel cp = new ChartPanel(localJFreeChart, true);
    cp.setBorder(new TitledBorder(attr.name()));
    return cp;
}

From source file:pisco.batch.visu.BatchingChartFactory.java

public static XYDataset createLatenessDataset(Batch[] batches) {
    final TaskSeriesCollection coll = new TaskSeriesCollection();
    for (int i = 0; i < batches.length; i++) {
        TaskSeries series = new TaskSeries(String.valueOf(i));
        final int dd = batches[i].getDueDate();
        final int compl = batches[i].getCompletionTime();
        TimePeriod p = dd < compl ? new SimpleTimePeriod(dd, compl) : new SimpleTimePeriod(compl, dd);
        series.add(new Task("B" + i, p));
        coll.add(series);
    }// ww w. j  a v  a 2 s.c  o  m
    final XYTaskDataset dataset = new XYTaskDataset(coll);
    dataset.setTransposed(true);
    return dataset;

}

From source file:osproject.Drawer.java

private static TaskSeriesCollection createTasks() {
    TaskSeriesCollection localTaskSeriesCollection = new TaskSeriesCollection();
    drawingInstructions.sortOnId();//  w w  w.  j a  v  a  2 s. c  om
    int prevId = -1;
    TaskSeries taskSeries = null;
    String label = null;
    int startMinute = new Minute().getMinute();
    int startHour = new Hour().getHour();
    int startSecond = new Second().getSecond();

    for (int i = 0; i < drawingInstructions.count(); i++) {
        if (drawingInstructions.getInstruction(i).from == drawingInstructions.getInstruction(i).to)
            continue;

        if (prevId != drawingInstructions.getInstruction(i).processId) {
            prevId = drawingInstructions.getInstruction(i).processId;

            if (taskSeries != null) {
                localTaskSeriesCollection.add(taskSeries);
            }
            label = arr[drawingInstructions.getInstruction(i).processId];
            taskSeries = new TaskSeries(label);
        }

        int curSecond = 0, curMinute = startMinute, curHour = startHour;

        if (startSecond + drawingInstructions.getInstruction(i).from > 59) {
            curSecond = startSecond + drawingInstructions.getInstruction(i).from;
            curSecond %= 60;

            curMinute++;
            if (curMinute > 59) {
                curMinute %= 60;
                curHour++;
            }
        } else {
            curSecond = startSecond + drawingInstructions.getInstruction(i).from;
        }

        int toSecond = 0, toMinute = startMinute, toHour = startHour;

        if (startSecond + drawingInstructions.getInstruction(i).to > 59) {
            toSecond = startSecond + drawingInstructions.getInstruction(i).to;
            toSecond %= 60;

            toMinute++;
            if (toMinute > 59) {
                toMinute %= 60;
                toHour++;
            }
        } else {
            toSecond = startSecond + drawingInstructions.getInstruction(i).to;
        }

        Date from = new Second(curSecond, new Minute(curMinute, new Hour(curHour, new Day()))).getStart();
        Date to = new Second(toSecond, new Minute(toMinute, new Hour(toHour, new Day()))).getEnd();

        taskSeries.add(new Task(label, from, to));
    }

    localTaskSeriesCollection.add(taskSeries);
    return localTaskSeriesCollection;
}

From source file:org.jfree.chart.demo.XYTaskDatasetDemo1.java

private static TaskSeriesCollection createTasks() {
    TaskSeriesCollection taskseriescollection = new TaskSeriesCollection();
    TaskSeries taskseries = new TaskSeries("Team A");
    taskseries.add(new Task("T1a", new Hour(11, new Day())));
    taskseries.add(new Task("T1b", new Hour(14, new Day())));
    taskseries.add(new Task("T1c", new Hour(16, new Day())));
    TaskSeries taskseries1 = new TaskSeries("Team B");
    taskseries1.add(new Task("T2a", new Hour(13, new Day())));
    taskseries1.add(new Task("T2b", new Hour(19, new Day())));
    taskseries1.add(new Task("T2c", new Hour(21, new Day())));
    TaskSeries taskseries2 = new TaskSeries("Team C");
    taskseries2.add(new Task("T3a", new Hour(13, new Day())));
    taskseries2.add(new Task("T3b", new Hour(19, new Day())));
    taskseries2.add(new Task("T3c", new Hour(21, new Day())));
    TaskSeries taskseries3 = new TaskSeries("Team D");
    taskseries3.add(new Task("T4a", new Day()));
    taskseriescollection.add(taskseries);
    taskseriescollection.add(taskseries1);
    taskseriescollection.add(taskseries2);
    taskseriescollection.add(taskseries3);
    return taskseriescollection;
}

From source file:org.jfree.chart.demo.XYTaskDatasetDemo2.java

private static TaskSeriesCollection createTasks() {
    TaskSeriesCollection taskseriescollection = new TaskSeriesCollection();
    TaskSeries taskseries = new TaskSeries("Team A");
    taskseries.add(new Task("T1a", new Hour(11, new Day())));
    taskseries.add(new Task("T1b", new Hour(14, new Day())));
    taskseries.add(new Task("T1c", new Hour(16, new Day())));
    TaskSeries taskseries1 = new TaskSeries("Team B");
    taskseries1.add(new Task("T2a", new Hour(13, new Day())));
    taskseries1.add(new Task("T2b", new Hour(19, new Day())));
    taskseries1.add(new Task("T2c", new Hour(21, new Day())));
    TaskSeries taskseries2 = new TaskSeries("Team C");
    taskseries2.add(new Task("T3a", new Hour(13, new Day())));
    taskseries2.add(new Task("T3b", new Hour(19, new Day())));
    taskseries2.add(new Task("T3c", new Hour(21, new Day())));
    TaskSeries taskseries3 = new TaskSeries("Team D");
    taskseries3.add(new Task("T4a", new Day()));
    TaskSeries taskseries4 = new TaskSeries("Team E");
    taskseries4.add(new Task("T5a", new Day()));
    taskseriescollection.add(taskseries);
    taskseriescollection.add(taskseries1);
    taskseriescollection.add(taskseries2);
    taskseriescollection.add(taskseries3);
    taskseriescollection.add(taskseries4);
    return taskseriescollection;
}

From source file:org.endeavour.mgmt.controller.servlet.CreateProjectPlan.java

private void createReportPage(Document aDocument, TaskSeries aTaskSeries, Date aStartDate, Date aEndDate,
        String aDescription) throws Exception {

    TaskSeriesCollection theDataset = new TaskSeriesCollection();
    theDataset.add(aTaskSeries);

    DateAxis theDateRange = new DateAxis(TIMELINE);
    theDateRange.setMinimumDate(aStartDate);
    theDateRange.setMaximumDate(aEndDate);

    JFreeChart theChart = ChartFactory.createGanttChart(aDescription, ARTIFACTS, null, theDataset, true, false,
            false);//from   w w  w.j  a  v a  2 s  . c o  m
    CategoryPlot theCategoryPlot = theChart.getCategoryPlot();
    theCategoryPlot.setRangeAxis(theDateRange);

    BufferedImage theChartImage = theChart.createBufferedImage(780, 520);
    ByteArrayOutputStream theOutputStream = new ByteArrayOutputStream();
    ImageIO.write(theChartImage, "png", theOutputStream);
    Image theDocumentImage = Image.getInstance(theOutputStream.toByteArray());
    aDocument.add(theDocumentImage);
}

From source file:org.jfree.data.gantt.SlidingGanttCategoryDatasetTest.java

/**
 * Serialize an instance, restore it, and check for equality.
 *//*from www .  j a  v a2  s. com*/
@Test
public void testSerialization() {
    TaskSeries s1 = new TaskSeries("Series");
    s1.add(new Task("Task 1", new Date(0L), new Date(1L)));
    TaskSeriesCollection u1 = new TaskSeriesCollection();
    u1.add(s1);
    SlidingGanttCategoryDataset d1 = new SlidingGanttCategoryDataset(u1, 0, 5);
    SlidingGanttCategoryDataset d2 = (SlidingGanttCategoryDataset) TestUtilities.serialised(d1);
    assertEquals(d1, d2);

    // basic check for independence
    s1.add(new Task("Task 2", new Date(10L), new Date(11L)));
    assertFalse(d1.equals(d2));
    TaskSeriesCollection u2 = (TaskSeriesCollection) d2.getUnderlyingDataset();
    TaskSeries s2 = u2.getSeries("Series");
    s2.add(new Task("Task 2", new Date(10L), new Date(11L)));
    assertTrue(d1.equals(d2));
}

From source file:org.jfree.data.gantt.XYTaskDatasetTest.java

/**
 * Serialize an instance, restore it, and check for equality.
 */// w w  w.ja  v a  2  s.  c  o  m
@Test
public void testSerialization() {
    TaskSeries s1 = new TaskSeries("Series");
    s1.add(new Task("Task 1", new Date(0L), new Date(1L)));
    TaskSeriesCollection u1 = new TaskSeriesCollection();
    u1.add(s1);
    XYTaskDataset d1 = new XYTaskDataset(u1);
    XYTaskDataset d2 = (XYTaskDataset) TestUtilities.serialised(d1);
    assertEquals(d1, d2);

    // basic check for independence
    s1.add(new Task("Task 2", new Date(10L), new Date(11L)));
    assertFalse(d1.equals(d2));
    TaskSeriesCollection u2 = d2.getTasks();
    TaskSeries s2 = u2.getSeries("Series");
    s2.add(new Task("Task 2", new Date(10L), new Date(11L)));
    assertTrue(d1.equals(d2));
}

From source file:org.jfree.data.gantt.SlidingGanttCategoryDatasetTest.java

/**
 * Confirm that cloning works./*  w  w w . ja v  a  2  s.  c  o  m*/
 */
@Test
public void testCloning() throws CloneNotSupportedException {
    TaskSeries s1 = new TaskSeries("Series");
    s1.add(new Task("Task 1", new Date(0L), new Date(1L)));
    TaskSeriesCollection u1 = new TaskSeriesCollection();
    u1.add(s1);
    SlidingGanttCategoryDataset d1 = new SlidingGanttCategoryDataset(u1, 0, 5);
    SlidingGanttCategoryDataset d2 = (SlidingGanttCategoryDataset) d1.clone();
    assertTrue(d1 != d2);
    assertTrue(d1.getClass() == d2.getClass());
    assertTrue(d1.equals(d2));

    // basic check for independence
    s1.add(new Task("Task 2", new Date(10L), new Date(11L)));
    assertFalse(d1.equals(d2));
    TaskSeriesCollection u2 = (TaskSeriesCollection) d2.getUnderlyingDataset();
    TaskSeries s2 = u2.getSeries("Series");
    s2.add(new Task("Task 2", new Date(10L), new Date(11L)));
    assertTrue(d1.equals(d2));
}