/* * © 2008 3kraft * $Id: KeyTimeSeries.java,v 1.8 2010-12-17 10:11:40 illetsch Exp $ */ package com.dreikraft.axbo.timeseries; import com.dreikraft.axbo.data.MovementData; import com.dreikraft.axbo.data.SleepData; import java.util.TimeZone; import org.jfree.data.time.RegularTimePeriod; import org.jfree.data.time.TimeSeries; import org.jfree.data.time.TimeSeriesDataItem; /** * @author jan_solo * @author $Author: illetsch $ * @version $Revision */ public class KeyTimeSeries extends TimeSeries { private final TimeZone timeZone = TimeZone.getDefault(); private final int keyType; @SuppressWarnings("LeakingThisInConstructor") public KeyTimeSeries(final String name, final SleepData sleepData, final Class<?> timePeriodClass, final int keyType) { super(name); this.timePeriodClass = timePeriodClass; this.keyType = keyType; for (MovementData movement : sleepData.getMovements()) { addMovementData(movement); } } public int getKeyType() { return keyType; } private void addMovementData(final MovementData data) { if (data.getMovementsZ() == keyType) { // get time of movement final RegularTimePeriod timePeriod = RegularTimePeriod.createInstance( getTimePeriodClass(), data.getTimestamp(), timeZone); delete(timePeriod); add(new TimeSeriesDataItem(timePeriod, 1)); } } }