/* * Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.financial.mock; import com.opengamma.core.holiday.HolidaySource; import com.opengamma.core.id.ExternalSchemes; import com.opengamma.core.region.RegionSource; import com.opengamma.engine.function.FunctionExecutionContext; import com.opengamma.financial.OpenGammaExecutionContext; import com.opengamma.financial.convention.ConventionBundleMaster; import com.opengamma.financial.convention.ConventionBundleSource; import com.opengamma.financial.convention.DefaultConventionBundleSource; import com.opengamma.financial.convention.InMemoryConventionBundleMaster; import com.opengamma.master.holiday.HolidayMaster; import com.opengamma.master.holiday.impl.InMemoryHolidayMaster; import com.opengamma.master.holiday.impl.InMemoryHolidayMasterPopulator; import com.opengamma.master.holiday.impl.MasterHolidaySource; import com.opengamma.master.region.RegionMaster; import com.opengamma.master.region.impl.InMemoryRegionMaster; import com.opengamma.master.region.impl.InMemoryRegionMasterPopulator; import com.opengamma.master.region.impl.MasterRegionSource; public class MockSources { private static String HOLIDAY_RESOURCE = "mock.holidays"; private static String REGION_RESOURCE = "mock.regions"; private FunctionExecutionContext _context = new FunctionExecutionContext(); public static FunctionExecutionContext isdaMocks() { String scheme = ExternalSchemes.ISDA_HOLIDAY.getName(); MockSources mock = new MockSources(); mock.setRegionSource(REGION_RESOURCE, scheme); mock.setHolidaySource(HOLIDAY_RESOURCE, scheme); mock.setConventionBundleSource(); return mock.mock(); } public FunctionExecutionContext mock() { return _context; } public void setHolidaySource(final String resourceLocation, final String regionScheme) { HolidayMaster holidayMaster = new InMemoryHolidayMaster(); InMemoryHolidayMasterPopulator.populate(holidayMaster, InMemoryHolidayMasterPopulator.load(resourceLocation, regionScheme)); HolidaySource holidaySource = new MasterHolidaySource(holidayMaster); OpenGammaExecutionContext.setHolidaySource(_context, holidaySource); // could add master also } public void setRegionSource(final String resourceLocation, final String regionScheme) { RegionMaster regionMaster = new InMemoryRegionMaster(); InMemoryRegionMasterPopulator.populate(regionMaster, InMemoryRegionMasterPopulator.load(resourceLocation, regionScheme)); RegionSource regionSource = new MasterRegionSource(regionMaster); OpenGammaExecutionContext.setRegionSource(_context, regionSource); // could add master also } public void setConventionBundleSource() { ConventionBundleMaster conventionMaster = new InMemoryConventionBundleMaster(); ConventionBundleSource conventionSource = new DefaultConventionBundleSource(conventionMaster); OpenGammaExecutionContext.setConventionBundleSource(_context, conventionSource); // could add master also } }