1 package org.columba.calendar.ui.base; 19 20 import org.columba.calendar.model.DateRange; 21 import org.columba.calendar.model.Recurrence; 22 import org.columba.calendar.model.api.IEvent; 23 import org.columba.calendar.model.api.IEventInfo; 24 import org.columba.calendar.model.api.IRecurrence; 25 26 import com.miginfocom.calendar.activity.Activity; 27 import com.miginfocom.calendar.activity.DefaultActivity; 28 import com.miginfocom.calendar.activity.recurrence.RecurrenceRule; 29 import com.miginfocom.util.dates.DateRangeI; 30 import com.miginfocom.util.dates.ImmutableDateRange; 31 32 public class CalendarHelper { 33 34 public static Activity createActivity(IEventInfo model) { 35 36 long startMillis = model.getEvent().getDtStart().getTimeInMillis(); 37 long endMillis = model.getEvent().getDtEnd().getTimeInMillis(); 38 39 ImmutableDateRange dr = new ImmutableDateRange(startMillis, endMillis, 40 false, null, null); 41 42 Activity act = new DefaultActivity(dr, model.getId()); 44 act.setSummary(model.getEvent().getSummary()); 45 act.setLocation(model.getEvent().getLocation()); 46 act.setDescription(model.getEvent().getDescription()); 47 IRecurrence columbaRecurrence = model.getEvent().getRecurrence(); 48 if (columbaRecurrence != null && columbaRecurrence.getType() != IRecurrence.RECURRENCE_NONE) { 49 RecurrenceRule r = new RecurrenceRule(); 50 r.setFrequency(Recurrence.toFrequency(columbaRecurrence.getType())); 51 r.setInterval(columbaRecurrence.getInterval()); 52 if (columbaRecurrence.getEndType() == IRecurrence.RECURRENCE_END_MAXOCCURRENCES) 53 r.setRepetitionCount(columbaRecurrence.getEndMaxOccurrences()); 54 if (columbaRecurrence.getEndType() == IRecurrence.RECURRENCE_END_ENDDATE) 55 r.setUntilDate(columbaRecurrence.getEndDate()); 56 act.setRecurrence(r); 57 } 58 59 String calendar = model.getCalendar(); 60 act.setCategoryIDs(new Object [] { calendar }); 62 63 return act; 64 } 65 66 public static void updateDateRange(final Activity activity, IEvent model) { 67 DateRangeI dateRange = activity.getDateRangeForReading(); 68 DateRange cRange = new DateRange(dateRange.getStartMillis(), dateRange 69 .getEndMillis(false)); 70 71 model.setDtStart(cRange.getStartTime()); 72 model.setDtEnd(cRange.getEndTime()); 73 74 } 75 76 } 77 | Popular Tags |