Example usage for org.jfree.data.time TimePeriodValues getTimePeriod

List of usage examples for org.jfree.data.time TimePeriodValues getTimePeriod

Introduction

In this page you can find the example usage for org.jfree.data.time TimePeriodValues getTimePeriod.

Prototype

public TimePeriod getTimePeriod(int index) 

Source Link

Document

Returns the time period at the specified index.

Usage

From source file:net.sf.jasperreports.charts.util.TimePeriodChartHyperlinkProvider.java

@Override
public JRPrintHyperlink getEntityHyperlink(ChartEntity entity) {
    JRPrintHyperlink printHyperlink = null;
    if (hasHyperlinks() && entity instanceof XYItemEntity) {
        XYItemEntity itemEntity = (XYItemEntity) entity;
        TimePeriodValuesCollection dataset = (TimePeriodValuesCollection) itemEntity.getDataset();
        TimePeriodValues series = dataset.getSeries(itemEntity.getSeriesIndex());
        Map<TimePeriod, JRPrintHyperlink> serieHyperlinks = itemHyperlinks.get(series.getKey());
        if (serieHyperlinks != null) {
            TimePeriod timePeriod = series.getTimePeriod(itemEntity.getItem());
            printHyperlink = serieHyperlinks.get(timePeriod);
        }//from   ww  w. j  a v  a  2  s .co m
    }
    return printHyperlink;
}

From source file:org.jfree.data.time.TimePeriodValuesCollection.java

/**
 * Returns the range of the values in this dataset's domain.
 *
 * @param includeInterval  a flag that determines whether or not the
 *                         x-interval is taken into account.
 *
 * @return The range./*w w  w  .  j  a va2 s .c  om*/
 */
@Override
public Range getDomainBounds(boolean includeInterval) {
    boolean interval = includeInterval || this.domainIsPointsInTime;
    Range result = null;
    Range temp = null;
    Iterator iterator = this.data.iterator();
    while (iterator.hasNext()) {
        TimePeriodValues series = (TimePeriodValues) iterator.next();
        int count = series.getItemCount();
        if (count > 0) {
            TimePeriod start = series.getTimePeriod(series.getMinStartIndex());
            TimePeriod end = series.getTimePeriod(series.getMaxEndIndex());
            if (!interval) {
                if (this.xPosition == TimePeriodAnchor.START) {
                    TimePeriod maxStart = series.getTimePeriod(series.getMaxStartIndex());
                    temp = new Range(start.getStart().getTime(), maxStart.getStart().getTime());
                } else if (this.xPosition == TimePeriodAnchor.MIDDLE) {
                    TimePeriod minMiddle = series.getTimePeriod(series.getMinMiddleIndex());
                    long s1 = minMiddle.getStart().getTime();
                    long e1 = minMiddle.getEnd().getTime();
                    TimePeriod maxMiddle = series.getTimePeriod(series.getMaxMiddleIndex());
                    long s2 = maxMiddle.getStart().getTime();
                    long e2 = maxMiddle.getEnd().getTime();
                    temp = new Range(s1 + (e1 - s1) / 2, s2 + (e2 - s2) / 2);
                } else if (this.xPosition == TimePeriodAnchor.END) {
                    TimePeriod minEnd = series.getTimePeriod(series.getMinEndIndex());
                    temp = new Range(minEnd.getEnd().getTime(), end.getEnd().getTime());
                }
            } else {
                temp = new Range(start.getStart().getTime(), end.getEnd().getTime());
            }
            result = Range.combine(result, temp);
        }
    }
    return result;
}

From source file:net.commerce.zocalo.freechart.ChartTest.java

public void testBasicGraph() {
    BinaryClaim claim = BinaryClaim.makeClaim("chartClaim", new User("joe", null), "a claim");
    Position yes = claim.getYesPosition();

    Ask ask1 = makeNewAsk("p1", "70", 20, yes);
    Bid bid1 = makeNewBid("p2", "30", 10, yes);
    Ask ask2 = makeNewAsk("p3", "53", 20, yes);
    Trade trade1 = makeNewBookTrade("p4", "53", 10, yes);
    Bid bid2 = makeNewBid("p4", "42", 10, yes);
    Ask ask3 = makeNewAsk("p3", "65", 20, yes);
    Trade trade2 = makeNewBookTrade("p2", "65", 20, yes);
    Bid bid3 = makeNewBid("p1", "45", 10, yes);

    TimePeriodValuesCollection valueColl;
    TimePeriodValues values = new TimePeriodValues("testing");
    values.add(ask1.timeAndPrice());/*from  w w  w .  ja v  a 2s  . co m*/
    values.add(bid1.timeAndPrice());
    values.add(ask2.timeAndPrice());
    values.add(trade1.timeAndPrice());
    values.add(bid2.timeAndPrice());
    values.add(ask3.timeAndPrice());
    values.add(trade2.timeAndPrice());
    values.add(bid3.timeAndPrice());
    assertEquals("Time", values.getDomainDescription());
    assertEquals(ask1.getTime(), values.getTimePeriod(0).getStart());
    assertQEquals(values.getValue(3).doubleValue(), trade1.getPrice());
    assertEquals(bid3.getTime(), values.getTimePeriod(7).getEnd());
    assertQEquals(values.getValue(7).doubleValue(), bid3.getPrice());

    valueColl = new TimePeriodValuesCollection(values);
    assertTrue(valueColl.getDomainIsPointsInTime());
}