Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem iCal4j - getNextDate() vrací null - proč?

Ahoj, mám tu problém s metodou getNextDate() třídy Recur knihovny iCal4j. Mám událost, jejíž pravidlo je: RRULE:FREQ=DAILY;UNTIL=20130612T160000Z. Potřebuju tuto jednu událost rozvinout do těch X událostí, které jsou v pravidle zahrnuty. Když do vezmu od dnešního data, potřebuji z této události vytvořit 7 událostí s daty jdoucími klasicky po sobě. Tyto data mi vrací právě getNextDate(), kterou používám následovně:

Property propRRULE = null; 
Recur recurrence = null;
VEvent copy = null;
net.fortuna.ical4j.model.Date seedSTART = null;
net.fortuna.ical4j.model.Date seedEND = null;
net.fortuna.ical4j.model.Date startDate = null;
net.fortuna.ical4j.model.Date endDate = null;
VEvent repeatedEvent = repEvent.getEvent();
TreeSet<MyEvent> events = new TreeSet<>();
seedSTART = repeatedEvent.getStartDate().getDate();
startDate = repeatedEvent.getStartDate().getDate();
seedEND = repeatedEvent.getEndDate().getDate();
endDate = repeatedEvent.getEndDate().getDate();
propRRULE = repeatedEvent.getProperty(Property.RRULE);
recurrence = new Recur(propRRULE.getValue());
//DateList dlstart = recurrence.getDates(seedSTART, start, end, Value.DATE_TIME);
//DateList dlend = recurrence.getDates(seedEND, start, end, Value.DATE_TIME);
while(true){
   startDate = recurrence.getNextDate(seedSTART, startDate);
   endDate = recurrence.getNextDate(seedEND, endDate);
   if(startDate == null || endDate == null) break;
   copy = (VEvent) repeatedEvent.copy();
   copy.getStartDate().setDate(startDate);
   copy.getEndDate().setDate(endDate);
   events.add(new MyEvent(copy));
}

Postupné získávání dat funguje, ale nevím, proč metoda getNextDate() při posledním průběhu cyklem, tzn. pro datum 12.6., pro startDate vrátí správně 20130612T180000, ale pro endDate vrátí NULL??? Takže mi to poslední den vynechá. Nemluvě o tom, když chci to samé udělat přes DateList (to, co je tam zakomentované), tak mi to poslední datum vynechá úplně - seznam dat končí 11.6. - proč?
Využívám to pravidlo špatně? Nebo špatně používám tu metodu? Fakt to nechápu!
Dík za pomoc.

Předmět Autor Datum
Debugger, kámo, debugger...
MaSo 05.06.2013 21:43
MaSo
Jak to můžu vydebugovat, když je evidentně problém v té metodě getNextdate()? Knihovna je sice open… nový
freez2 06.06.2013 04:00
freez2
Lépe pochopíš, jak to funguje a možná příjdeš na chybu, kterou děláš (nebo je špatně knihovna). poslední
MaSo 06.06.2013 06:42
MaSo

Zpět do poradny Odpovědět na původní otázku Nahoru