Package com.opengamma.master.historicaltimeseries.impl

Source Code of com.opengamma.master.historicaltimeseries.impl.HistoricalTimeSeriesMasterPopulator

/**
* Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.master.historicaltimeseries.impl;

import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertNotNull;
import static org.testng.AssertJUnit.assertTrue;

import java.util.ArrayList;
import java.util.List;

import org.testng.annotations.Test;
import org.threeten.bp.LocalDate;

import com.opengamma.core.id.ExternalSchemes;
import com.opengamma.id.ExternalIdBundle;
import com.opengamma.id.ExternalIdBundleWithDates;
import com.opengamma.master.historicaltimeseries.HistoricalTimeSeriesInfoDocument;
import com.opengamma.master.historicaltimeseries.HistoricalTimeSeriesMaster;
import com.opengamma.master.historicaltimeseries.ManageableHistoricalTimeSeriesInfo;
import com.opengamma.timeseries.date.localdate.LocalDateDoubleTimeSeries;
import com.opengamma.util.test.TestGroup;
import com.opengamma.util.time.DateUtils;

/**
*
*/
@Test(groups = TestGroup.UNIT)
public class HistoricalTimeSeriesMasterPopulator {

  public static List<ExternalIdBundleWithDates> populateAndTestMaster(HistoricalTimeSeriesMaster htsMaster,
      int datasetSize, String[] dataSources, String[] dataProviders, String[] dataFields, String observationTime) {
    List<ExternalIdBundleWithDates> result = new ArrayList<ExternalIdBundleWithDates>();
    for (int i = 0; i < datasetSize; i++) {
      ExternalIdBundle identifiers = ExternalIdBundle.of(ExternalSchemes.bloombergTickerSecurityId("ticker" + i), ExternalSchemes.bloombergBuidSecurityId("buid" + i));
      result.add(ExternalIdBundleWithDates.of(identifiers));
     
      LocalDate start = DateUtils.previousWeekDay().minusDays(7);
      for (String dataSource : dataSources) {
        for (String dataProvider : dataProviders) {
          for (String datafield : dataFields) {
            ManageableHistoricalTimeSeriesInfo series = new ManageableHistoricalTimeSeriesInfo();
            series.setDataField(datafield);
            series.setDataProvider(dataProvider);
            series.setDataSource(dataSource);
            series.setObservationTime(observationTime);
            series.setExternalIdBundle(ExternalIdBundleWithDates.of(identifiers));
            HistoricalTimeSeriesInfoDocument doc = htsMaster.add(new HistoricalTimeSeriesInfoDocument(series));
            assertNotNull(doc);
            assertNotNull(doc.getUniqueId());
           
            LocalDateDoubleTimeSeries timeSeries = RandomTimeSeriesGenerator.makeRandomTimeSeries(start, 7);
            assertTrue(timeSeries.size() == 7);
            assertEquals(start, timeSeries.getEarliestTime());
            htsMaster.updateTimeSeriesDataPoints(doc.getInfo().getTimeSeriesObjectId(), timeSeries);
          }
        }
      }
    }
    return result;
  }
 
}
TOP

Related Classes of com.opengamma.master.historicaltimeseries.impl.HistoricalTimeSeriesMasterPopulator

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.