package org.osaf.caldav4j.functional.support; import net.sf.ehcache.Cache; import net.sf.ehcache.CacheManager; import org.apache.commons.httpclient.HostConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.osaf.caldav4j.CalDAVCollection; import org.osaf.caldav4j.CalDAVConstants; import org.osaf.caldav4j.TestConstants; import org.osaf.caldav4j.cache.EhCacheResourceCache; public class CaldavFixtureHarness implements TestConstants { protected static final Log log = LogFactory.getLog(CaldavFixtureHarness.class); public static CalDAVCollection createCollectionFromFixture(CalDavFixture fixture) { HostConfiguration conf = (HostConfiguration) fixture.getHttpClient().getHostConfiguration().clone(); return new CalDAVCollection( fixture.getCollectionPath(), conf, fixture.getMethodFactory(), CalDAVConstants.PROC_ID_DEFAULT ); } /** * @param fixture * */ public static void provisionGoogleEvents(CalDavFixture fixture) { provisionEvents(fixture, new String[] { ICS_GOOGLE_DAILY_NY_5PM_PATH, ICS_GOOGLE_ALL_DAY_JAN1_PATH, ICS_GOOGLE_NORMAL_PACIFIC_1PM_PATH, ICS_GOOGLE_SINGLE_EVENT_PATH }); } public static void provisionSimpleEvents(CalDavFixture fixture) { provisionEvents(fixture, new String[] { ICS_DAILY_NY_5PM_PATH, ICS_ALL_DAY_JAN1_PATH, ICS_NORMAL_PACIFIC_1PM_PATH, ICS_SINGLE_EVENT_PATH,ICS_FLOATING_JAN2_7PM_PATH } ); } private static void provisionEvents(CalDavFixture fixture, String[] events) { for (String eventPath :events) { fixture.caldavPut(eventPath); } } /** * */ public static EhCacheResourceCache createSimpleCache() { //initialize cache CacheManager cacheManager = CacheManager.create(); EhCacheResourceCache myCache = new EhCacheResourceCache(); Cache uidToHrefCache = new Cache(UID_TO_HREF_CACHE, 1000, false, false, 600, 300, false, 0); Cache hrefToResourceCache = new Cache(HREF_TO_RESOURCE_CACHE, 1000, false, false, 600, 300, false, 0); myCache.setHrefToResourceCache(hrefToResourceCache); myCache.setUidToHrefCache(uidToHrefCache); cacheManager.addCache(uidToHrefCache); cacheManager.addCache(hrefToResourceCache); return myCache; } /** * */ public static void removeSimpleCache() { CacheManager cacheManager = CacheManager.create(); cacheManager.removeCache(UID_TO_HREF_CACHE); cacheManager.removeCache(HREF_TO_RESOURCE_CACHE); cacheManager.shutdown(); } }