package org.fluxtream.core.domain;
import org.fluxtream.core.connectors.vos.AllDayVO;
import org.fluxtream.core.utils.TimeUtils;
import org.joda.time.LocalDate;
import javax.persistence.MappedSuperclass;
import java.sql.Date;
import java.util.ArrayList;
import java.util.List;
/**
* User: candide
* Date: 20/09/13
* Time: 19:27
*/
@MappedSuperclass
public abstract class AbstractRepeatableFacet extends AbstractFacet implements AllDayVO {
public Date startDate;
public Date endDate;
public boolean allDayEvent;
public AbstractRepeatableFacet(final long apiKeyId) {
super(apiKeyId);
}
public AbstractRepeatableFacet() {
super();
}
public List<String> getRepeatedDates() {
LocalDate currLocalDate = new LocalDate(startDate);
final LocalDate endLocalDate = new LocalDate(endDate);
List<String> dates = new ArrayList<String>();
while(!currLocalDate.isAfter(endLocalDate)) {
final String date = TimeUtils.dateFormatterUTC.print(currLocalDate);
dates.add(date);
currLocalDate = currLocalDate.plusDays(1);
}
return dates;
}
}