1 package org.columba.calendar.store; 19 20 import java.io.File ; 21 import java.util.Iterator ; 22 23 import org.columba.calendar.config.Config; 24 import org.columba.calendar.model.api.IComponent; 25 import org.columba.calendar.model.api.IComponentInfo; 26 import org.columba.calendar.model.api.IComponentInfoList; 27 import org.columba.calendar.model.api.IEventInfo; 28 import org.columba.calendar.store.api.ICalendarStore; 29 import org.columba.calendar.store.api.ICalendarStoreFactory; 30 import org.columba.calendar.ui.base.CalendarHelper; 32 import org.columba.core.io.DiskIO; 33 import org.python.modules.synchronize; 34 35 import com.miginfocom.calendar.activity.Activity; 36 import com.miginfocom.calendar.activity.ActivityDepository; 37 38 43 public class CalendarStoreFactory implements ICalendarStoreFactory { 44 private File parentDirectory; 45 private File storeDirectory; 46 private ICalendarStore store; 47 private static CalendarStoreFactory instance = new CalendarStoreFactory(); 48 49 52 private CalendarStoreFactory() { 53 super(); 54 55 parentDirectory = Config.getInstance().getConfigDirectory(); 56 storeDirectory = new File (parentDirectory, "store"); 57 DiskIO.ensureDirectory(storeDirectory); 58 initLocalStore(); 59 } 60 61 64 private void initLocalStore() { 65 store = new LocalCalendarStore(storeDirectory); 66 67 IComponentInfoList list = store.getComponentInfoList(); 68 Iterator <IComponentInfo> it = list.iterator(); 69 while (it.hasNext()) { 70 IComponentInfo item = (IComponentInfo) it.next(); 71 72 if (item.getType() == IComponent.TYPE.EVENT) { 73 IEventInfo event = (IEventInfo) item; 74 75 Activity act = CalendarHelper.createActivity(event); 76 77 ActivityDepository.getInstance().addBrokedActivity(act, this); 78 } 79 } 80 } 81 82 86 public static synchronized CalendarStoreFactory getInstance() { 87 return instance; 88 } 89 90 93 public ICalendarStore getLocaleStore() { 94 return store; 95 } 96 } 97 | Popular Tags |