Package com.opengamma.batch.domain

Examples of com.opengamma.batch.domain.MarketData


  }

  //-------------------------------------------------------------------------
  @GET
  public Response get() {
    MarketData result = getMaster().getMarketDataById(_marketDataId);
    return responseOkFudge(result);
  }
View Full Code Here


    return node;
  }

  protected MarketData getMarketDataInTransaction(final ObjectId snapshotId) {

    MarketData liveDataValues = getHibernateTemplate().execute(new HibernateCallback<MarketData>() {
      @Override
      public MarketData doInHibernate(Session session) throws HibernateException, SQLException {
        Long id = extractOid(snapshotId);
        return (MarketData) session.get(MarketData.class, id);
      }
View Full Code Here

    final Map<String, String> batchParameters,
    final SnapshotMode snapshotMode) {

    Instant now = Instant.now();

    MarketData values = createOrGetMarketDataInTransaction(baseMarketDataSnapshotUid);

    RiskRun riskRun = new RiskRun();
    riskRun.setMarketData(values);
    riskRun.setVersionCorrection(versionCorrection);
    riskRun.setViewDefinitionUid(viewDefinitionUid);
View Full Code Here

    return run;
  }

  public MarketData createOrGetMarketDataInTransaction(final UniqueId baseUid) {
    s_logger.info("Creating Market Data {} ", baseUid);
    MarketData marketData = getHibernateTemplate().execute(new HibernateCallback<MarketData>() {
      @Override
      public MarketData doInHibernate(Session session) throws HibernateException, SQLException {

        final DetachedCriteria criteria = DetachedCriteria.forClass(MarketData.class);
        criteria.add(Restrictions.eq("baseUidScheme", baseUid.getScheme()))
          .add(Restrictions.eq("baseUidValue", baseUid.getValue()))
          .add(eqOrIsNull("baseUidVersion", baseUid.getVersion()));

        @SuppressWarnings("unchecked")
        List<MarketData> datas = getHibernateTemplate().findByCriteria(criteria, 0, 1);
        if (datas.size() > 0) {
          return datas.get(0);
        } else {
          return null;
        }
      }
    });
    if (marketData != null) {
      s_logger.info("Snapshot " + baseUid + " already exists. No need to create.");
    } else {
      marketData = new MarketData();
      marketData.setBaseUid(baseUid);
      getHibernateTemplate().save(marketData);
      getHibernateTemplate().flush();
    }
    return marketData;
  }
View Full Code Here

    if (values == null || values.isEmpty()) {
      return;
    }
    s_logger.info("Adding {} market data values to {}", values.size(), marketDataId);
   
    MarketData marketData = getMarketDataInTransaction(marketDataId);
    if (marketData == null) {
      throw new IllegalArgumentException("Market data " + marketDataId + " cannot be found");
    }
   
    List<DbMapSqlParameterSource> marketDataValuesInserts = newArrayList();

    Collection<ComputationTargetSpecification> computationTargetSpecifications = newHashSet();
    for (MarketDataValue value : values) {
      ComputationTargetSpecification targetSpecification = value.getComputationTargetSpecification();
      computationTargetSpecifications.add(targetSpecification);
    }
    populateComputationTargets(computationTargetSpecifications);

    Collection<Long> ids = newArrayList();

    for (MarketDataValue value : values) {
      final ComputationTargetSpecification targetSpec = value.getComputationTargetSpecification();
      final long id = nextId(RSK_SEQUENCE_NAME);
      ids.add(id);
      final DbMapSqlParameterSource insertArgs = new DbMapSqlParameterSource()
        .addValue("id", id)
        .addValue("snapshot_id", marketData.getId())
        .addValue("computation_target_id", _computationTargets.get(targetSpec))
        .addValue("name", value.getName())
        .addValue("value", value.getValue());
      marketDataValuesInserts.add(insertArgs);         
    }
View Full Code Here

    _batchMaster.addValuesToMarketData(ObjectId.of("nonexistent", "nonexistent"), ImmutableSet.of(new MarketDataValue()));
  }

  @Test
  public void addValuesToIncompleteSnapshot() {
    final MarketData marketData = _batchWriter.createOrGetMarketDataInTransaction(_cycleMetadataStub.getMarketDataSnapshotId());

    _batchMaster.addValuesToMarketData(marketData.getObjectId(), Collections.<MarketDataValue>emptySet());

    List<MarketDataValue> marketDataValues = _batchMaster.getMarketDataValues(marketData.getObjectId(), PagingRequest.ALL).getFirst();
    assertNotNull(marketDataValues);
    assertEquals(0, marketDataValues.size());

    final Set<ComputationTargetSpecification> specs = Sets.newHashSet();
    specs.add(ComputationTargetSpecification.of(UniqueId.of("BUID", "EQ12345", null)));
    specs.add(ComputationTargetSpecification.of(UniqueId.of("BUID", "EQ12346", "1")));
    specs.add(ComputationTargetSpecification.of(UniqueId.of("BUID", "EQ12347", "2")));


    final Map<ComputationTargetSpecification, Long> compTargetSpecIdx = new HashMap<ComputationTargetSpecification, Long>();
    final Map<Long, ComputationTargetSpecification> reversedCompTargetSpecIdx = new HashMap<Long, ComputationTargetSpecification>();


    _batchMaster.getDbConnector().getTransactionTemplate().execute(new TransactionCallback<Void>() {
      @Override
      public Void doInTransaction(final TransactionStatus status) {
        // manually populationg db with computation targets
        for (final ComputationTargetSpecification spec : specs) {
          final HbComputationTargetSpecification hbComputationTargetSpecification = _batchWriter.getOrCreateComputationTargetInTransaction(spec);
          compTargetSpecIdx.put(spec, hbComputationTargetSpecification.getId());
          reversedCompTargetSpecIdx.put(hbComputationTargetSpecification.getId(), spec);
        }
        return null;
      }
    });

    Set<MarketDataValue> values = new HashSet<MarketDataValue>();
    for (final ComputationTargetSpecification spec : specs) {
      values.add(new MarketDataValue(spec, 123.45, "value_name"));
    }


    _batchMaster.addValuesToMarketData(marketData.getObjectId(), values);

    marketDataValues = _batchMaster.getMarketDataValues(marketData.getObjectId(), PagingRequest.ALL).getFirst();
    assertEquals(specs.size(), marketDataValues.size());

    final Map<Long, MarketDataValue> marketDataValuesMap = newHashMap();
    for (final MarketDataValue value : marketDataValues) {
      marketDataValuesMap.put(value.getComputationTargetSpecificationId(), value);
    }

    for (final ComputationTargetSpecification spec : specs) {
      final Long targetSpecificationId = compTargetSpecIdx.get(spec);
      final MarketDataValue marketDataValue = marketDataValuesMap.get(targetSpecificationId);
      assertNotNull(marketDataValue);
      assertEquals(spec, reversedCompTargetSpecIdx.get(marketDataValue.getComputationTargetSpecificationId()));
      assertEquals("value_name", marketDataValue.getName());
      assertEquals(123.45, marketDataValue.getValue(), 0.000001);
    }

    // should not add anything extra
    _batchMaster.addValuesToMarketData(marketData.getObjectId(), values);
    marketDataValues = _batchMaster.getMarketDataValues(marketData.getObjectId(), PagingRequest.ALL).getFirst();
    assertEquals(3, marketDataValues.size());

    // should update 2, add 1
    values = new HashSet<MarketDataValue>();
    values.add(new MarketDataValue(ComputationTargetSpecification.of(UniqueId.of("BUID", "EQ12345", null)), 123.46, "value_name"));
    values.add(new MarketDataValue(ComputationTargetSpecification.of(UniqueId.of("BUID", "EQ12347", "2")), 123.47, "value_name"));
    values.add(new MarketDataValue(ComputationTargetSpecification.of(UniqueId.of("BUID", "EQ12348")), 123.45, "value_name"));

    _batchMaster.addValuesToMarketData(marketData.getObjectId(), values);
    marketDataValues = _batchMaster.getMarketDataValues(marketData.getObjectId(), PagingRequest.ALL).getFirst();
    assertEquals(4, marketDataValues.size());
  }
View Full Code Here

  private BatchMasterWriter _batchMaster;
  private DataMarketDataResource _resource;

  @BeforeMethod
  public void setUp() {
    _marketData = new MarketData(_baseMarketDataUid);

    _batchMaster = mock(BatchMasterWriter.class);
    _resource = new DataMarketDataResource(_marketData.getObjectId(), _batchMaster);
    when(_batchMaster.getMarketDataById(_marketData.getObjectId())).thenReturn(_marketData);
  }
View Full Code Here

   
    when(batchMaster.getMarketDataById((ObjectId) any())).thenReturn(riskRun.getMarketData());
   
    DataMarketDataResource marketDataResource = batchMasterResource.getMarketData(snapshotId.toString());
   
    MarketData marketData = (MarketData) marketDataResource.get().getEntity();
    assertEquals(marketData.getObjectId(), snapshotId);  
  }
View Full Code Here

  private static final ObjectId _riskRunId = ObjectId.of("Test", "RiskRun");

  @BeforeMethod
  public void setUp() {
    _riskRun = new RiskRun(
      new MarketData(UniqueId.of(BatchMaster.BATCH_IDENTIFIER_SCHEME, "market-data")),
      Instant.now(),
      Instant.now(),
      0,
      newHashSet(new CalculationConfiguration("calc-config")),
      newHashSet(new RiskRunProperty()),
View Full Code Here

TOP

Related Classes of com.opengamma.batch.domain.MarketData

Copyright © 2018 www.massapicom. 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.