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

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

Introduction

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

Prototype

public TimePeriodValues(String name) 

Source Link

Document

Creates a new (empty) collection of time period values.

Usage

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

/**
 * Some checks for the add() methods./*from  w ww .j  a  v  a  2  s.  c  o  m*/
 */
@Test
public void testAdd() {
    TimePeriodValues tpv = new TimePeriodValues("Test");
    MySeriesChangeListener listener = new MySeriesChangeListener();
    tpv.addChangeListener(listener);
    tpv.add(new TimePeriodValue(new SimpleTimePeriod(new Date(1L), new Date(3L)), 99.0));
    assertEquals(99.0, tpv.getValue(0).doubleValue(), EPSILON);
    assertEquals(tpv, listener.getLastEvent().getSource());

    // a null item should throw an IllegalArgumentException
    boolean pass = false;
    try {
        tpv.add((TimePeriodValue) null);
    } catch (IllegalArgumentException e) {
        pass = true;
    }
    assertTrue(pass);
}

From source file:org.jfree.data.time.junit.TimePeriodValuesTest.java

/**
 * Tests the equals method./*from  w  w  w .j  a  va  2s .  c  o  m*/
 */
public void testEquals() {
    TimePeriodValues s1 = new TimePeriodValues("Time Series 1");
    TimePeriodValues s2 = new TimePeriodValues("Time Series 2");
    boolean b1 = s1.equals(s2);
    assertFalse("b1", b1);

    s2.setKey("Time Series 1");
    boolean b2 = s1.equals(s2);
    assertTrue("b2", b2);

    // domain description
    s1.setDomainDescription("XYZ");
    assertFalse(s1.equals(s2));
    s2.setDomainDescription("XYZ");
    assertTrue(s1.equals(s2));

    // domain description - null
    s1.setDomainDescription(null);
    assertFalse(s1.equals(s2));
    s2.setDomainDescription(null);
    assertTrue(s1.equals(s2));

    // range description
    s1.setRangeDescription("XYZ");
    assertFalse(s1.equals(s2));
    s2.setRangeDescription("XYZ");
    assertTrue(s1.equals(s2));

    // range description - null
    s1.setRangeDescription(null);
    assertFalse(s1.equals(s2));
    s2.setRangeDescription(null);
    assertTrue(s1.equals(s2));

    RegularTimePeriod p1 = new Day();
    RegularTimePeriod p2 = p1.next();
    s1.add(p1, 100.0);
    s1.add(p2, 200.0);
    boolean b3 = s1.equals(s2);
    assertFalse("b3", b3);

    s2.add(p1, 100.0);
    s2.add(p2, 200.0);
    boolean b4 = s1.equals(s2);
    assertTrue("b4", b4);

}

From source file:ch.ksfx.web.services.chart.ObservationChartGenerator.java

public TimePeriodValues getExponentialMovingAverage(TimeSeries asset, Date startDate, Date endDate,
        Integer emaTimeframeSeconds, Integer emaTimeframesBack, Boolean addCurrentPrice) {
    TimePeriodValues movingAverageBand = new TimePeriodValues(
            "EMA" + emaTimeframesBack + "TIMEFRAMES (" + emaTimeframeSeconds + ") " + asset.getName());

    List<Observation> assetPrices = observationDAO.queryObservationsSparse(asset.getId().intValue(), startDate,
            endDate);// w ww  .  ja va  2  s .  c om

    //Get some earlier prices to calc exponential moving average
    List<Observation> movingAveragePrices = observationDAO.queryObservationsSparse(asset.getId().intValue(),
            (startDate.getTime() == 0l) ? startDate
                    : DateUtils.addSeconds(startDate, (emaTimeframesBack * emaTimeframeSeconds * 2) * -1),
            endDate);

    //logger.info("Calculated date which is needed " + DateUtils.addDays(startDate, emaDaysBack * -1));

    assetPrices = simplifyAssetPrices(assetPrices);

    Integer filterSizer = 0;
    List<Observation> relevantMovingAveragePrices = null;
    Double movingAverage = null;

    for (Observation ap : assetPrices) {

        Date referenceDate = DateUtils.addSeconds(ap.getObservationTime(),
                (emaTimeframesBack * emaTimeframeSeconds) * -1);

        if (movingAveragePrices.get(0).getObservationTime().after(referenceDate)) {
            logger.info("Could not calc EMA earliest available date is "
                    + movingAveragePrices.get(0).getObservationTime());
            continue;
        }

        /*
        for (Integer iI = filterSizer; iI < movingAveragePrices.size(); iI++) {
        if (movingAveragePrices.get(iI + 1).getPricingTime().after(referenceDate)) {
            //We went too far, begin index was the last one
            filterSizer = iI;
            break;
        }
        }
        */

        relevantMovingAveragePrices = movingAveragePrices.subList(filterSizer, movingAveragePrices.indexOf(ap));

        logger.info("Calculating EMA");
        movingAverage = MovingAverageCalculator.calcExponentialMovingAverageObservation(emaTimeframeSeconds,
                emaTimeframesBack, relevantMovingAveragePrices, true, addCurrentPrice, null);

        movingAverageBand.add(new SimpleTimePeriod(ap.getObservationTime(), ap.getObservationTime()),
                movingAverage);
    }

    return movingAverageBand;
}

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

/**
 * Some tests for the getMinStartIndex() method.
 *///from ww w .jav  a 2s . c  o m
@Test
public void testGetMinStartIndex() {
    TimePeriodValues s = new TimePeriodValues("Test");
    assertEquals(-1, s.getMinStartIndex());
    s.add(new SimpleTimePeriod(100L, 200L), 1.0);
    assertEquals(0, s.getMinStartIndex());
    s.add(new SimpleTimePeriod(300L, 400L), 2.0);
    assertEquals(0, s.getMinStartIndex());
    s.add(new SimpleTimePeriod(0L, 50L), 3.0);
    assertEquals(2, s.getMinStartIndex());
}

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

/**
 * Some tests for the getMaxStartIndex() method.
 *//*from w w w . ja  v  a2 s .  co m*/
@Test
public void testGetMaxStartIndex() {
    TimePeriodValues s = new TimePeriodValues("Test");
    assertEquals(-1, s.getMaxStartIndex());
    s.add(new SimpleTimePeriod(100L, 200L), 1.0);
    assertEquals(0, s.getMaxStartIndex());
    s.add(new SimpleTimePeriod(300L, 400L), 2.0);
    assertEquals(1, s.getMaxStartIndex());
    s.add(new SimpleTimePeriod(0L, 50L), 3.0);
    assertEquals(1, s.getMaxStartIndex());
}

From source file:org.jfree.data.time.junit.TimePeriodValuesTest.java

/**
 * A test for bug report 1161329.//from   w w  w  . j a  v a2  s.com
 */
public void test1161329() {
    TimePeriodValues tpv = new TimePeriodValues("Test");
    RegularTimePeriod t = new Day();
    tpv.add(t, 1.0);
    t = t.next();
    tpv.add(t, 2.0);
    tpv.delete(0, 1);
    assertEquals(0, tpv.getItemCount());
    tpv.add(t, 2.0);
    assertEquals(1, tpv.getItemCount());
}

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

/**
 * Some tests for the getMinMiddleIndex() method.
 *//*w  ww  .  j ava2  s.c  o  m*/
@Test
public void testGetMinMiddleIndex() {
    TimePeriodValues s = new TimePeriodValues("Test");
    assertEquals(-1, s.getMinMiddleIndex());
    s.add(new SimpleTimePeriod(100L, 200L), 1.0);
    assertEquals(0, s.getMinMiddleIndex());
    s.add(new SimpleTimePeriod(300L, 400L), 2.0);
    assertEquals(0, s.getMinMiddleIndex());
    s.add(new SimpleTimePeriod(0L, 50L), 3.0);
    assertEquals(2, s.getMinMiddleIndex());
}

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

private TimePeriodValuesCollection makeupSeriesValues() {
    TimePeriodValues aValues = new TimePeriodValues("volleyball");
    TimePeriodValues bValues = new TimePeriodValues("climbing");
    TimePeriodValues cValues = new TimePeriodValues("hockey");
    Minute now = new Minute();

    aValues.add(new TimePeriodValue(new Second(2, now), .2));
    bValues.add(new TimePeriodValue(new Second(2, now), .4));
    cValues.add(new TimePeriodValue(new Second(2, now), .4));
    aValues.add(new TimePeriodValue(new Second(14, now), .25));
    bValues.add(new TimePeriodValue(new Second(14, now), .35));
    cValues.add(new TimePeriodValue(new Second(14, now), .4));
    aValues.add(new TimePeriodValue(new Second(22, now), .26));
    bValues.add(new TimePeriodValue(new Second(22, now), .35));
    cValues.add(new TimePeriodValue(new Second(22, now), .39));
    aValues.add(new TimePeriodValue(new Second(32, now), .23));
    bValues.add(new TimePeriodValue(new Second(32, now), .37));
    cValues.add(new TimePeriodValue(new Second(32, now), .38));
    aValues.add(new TimePeriodValue(new Second(45, now), .33));
    bValues.add(new TimePeriodValue(new Second(45, now), .31));
    cValues.add(new TimePeriodValue(new Second(45, now), .37));
    aValues.add(new TimePeriodValue(new Second(58, now), .33));
    bValues.add(new TimePeriodValue(new Second(58, now), .31));
    cValues.add(new TimePeriodValue(new Second(58, now), .37));

    TimePeriodValuesCollection series = new TimePeriodValuesCollection();

    series.addSeries(aValues);/* ww  w . ja v  a  2  s .  co  m*/
    series.addSeries(bValues);
    series.addSeries(cValues);
    return series;
}

From source file:org.jfree.data.time.junit.TimePeriodValuesTest.java

/**
 * Some checks for the add() methods./*from www.ja v a  2 s.  co  m*/
 */
public void testAdd() {
    TimePeriodValues tpv = new TimePeriodValues("Test");
    MySeriesChangeListener listener = new MySeriesChangeListener();
    tpv.addChangeListener(listener);
    tpv.add(new TimePeriodValue(new SimpleTimePeriod(new Date(1L), new Date(3L)), 99.0));
    assertEquals(99.0, tpv.getValue(0).doubleValue(), EPSILON);
    assertEquals(tpv, listener.getLastEvent().getSource());

    // a null item should throw an IllegalArgumentException
    boolean pass = false;
    try {
        tpv.add((TimePeriodValue) null);
    } catch (IllegalArgumentException e) {
        pass = true;
    }
    assertTrue(pass);
}

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

/**
 * Some tests for the getMaxMiddleIndex() method.
 *///  www  .j  av  a2  s  .co m
@Test
public void testGetMaxMiddleIndex() {
    TimePeriodValues s = new TimePeriodValues("Test");
    assertEquals(-1, s.getMaxMiddleIndex());
    s.add(new SimpleTimePeriod(100L, 200L), 1.0);
    assertEquals(0, s.getMaxMiddleIndex());
    s.add(new SimpleTimePeriod(300L, 400L), 2.0);
    assertEquals(1, s.getMaxMiddleIndex());
    s.add(new SimpleTimePeriod(0L, 50L), 3.0);
    assertEquals(1, s.getMaxMiddleIndex());
    s.add(new SimpleTimePeriod(150L, 200L), 4.0);
    assertEquals(1, s.getMaxMiddleIndex());
}