Examples of ViewDeltaResultModel


Examples of com.opengamma.engine.view.ViewDeltaResultModel

  @Override
  public void cycleCompleted(final ViewCycle cycle) {
    // Caller MUST NOT hold the semaphore
    s_logger.debug("View cycle {} completed on view process {}", cycle.getUniqueId(), getUniqueId());
    final ViewComputationResultModel result;
    ViewDeltaResultModel deltaResult = null;
    final ViewResultListener[] listeners;
    lock();
    try {
      result = cycle.getResultModel();
      if (_mustCalculateDeltas.get()) {
View Full Code Here

Examples of com.opengamma.engine.view.ViewDeltaResultModel

  @Override
  public void cycleFragmentCompleted(final ViewComputationResultModel fullFragment, ViewDefinition viewDefinition) {
    // Caller MUST NOT hold the semaphore
    s_logger.debug("Result fragment from cycle {} received on view process {}", fullFragment.getViewCycleId(), getUniqueId());
    final ViewDeltaResultModel deltaFragment;
    final ViewResultListener[] listeners;
    lock();
    try {
      // [PLAT-1158] Is the cost of computing the delta going to be high; should we offload that to a slave thread before dispatching to the listeners?
      final ViewComputationResultModel previousResult = _latestResult.get();
View Full Code Here

Examples of com.opengamma.engine.view.ViewDeltaResultModel

 
  @Override
  public MutableFudgeMsg buildMessage(FudgeSerializer serializer, CycleCompletedCall object) {
    MutableFudgeMsg msg = serializer.newMessage();
    ViewComputationResultModel fullResult = object.getFullResult();
    ViewDeltaResultModel deltaResult = object.getDeltaResult();
    serializer.addToMessage(msg, FULL_RESULT_FIELD, null, fullResult);
    serializer.addToMessage(msg, DELTA_RESULT_FIELD, null, deltaResult);
    return msg;
  }
View Full Code Here

Examples of com.opengamma.engine.view.ViewDeltaResultModel

  @Override
  public CycleCompletedCall buildObject(FudgeDeserializer deserializer, FudgeMsg msg) {
    FudgeField fullResultField = msg.getByName(FULL_RESULT_FIELD);
    ViewComputationResultModel fullResult = fullResultField != null ? deserializer.fieldValueToObject(ViewComputationResultModel.class, fullResultField) : null;
    FudgeField deltaResultField = msg.getByName(DELTA_RESULT_FIELD);
    ViewDeltaResultModel deltaResult = deltaResultField != null ? deserializer.fieldValueToObject(ViewDeltaResultModel.class, deltaResultField) : null;
    return new CycleCompletedCall(fullResult, deltaResult);
  }
View Full Code Here

Examples of com.opengamma.engine.view.ViewDeltaResultModel

  @Override
  public CycleFragmentCompletedCall buildObject(FudgeDeserializer deserializer, FudgeMsg msg) {
    FudgeField fullResultField = msg.getByName(FULL_FRAGMENT_FIELD);
    ViewComputationResultModel fullResult = fullResultField != null ? deserializer.fieldValueToObject(ViewComputationResultModel.class, fullResultField) : null;
    FudgeField deltaResultField = msg.getByName(DELTA_FRAGMENT_FIELD);
    ViewDeltaResultModel deltaResult = deltaResultField != null ? deserializer.fieldValueToObject(ViewDeltaResultModel.class, deltaResultField) : null;
    return new CycleFragmentCompletedCall(fullResult, deltaResult);
  }
View Full Code Here

Examples of com.opengamma.engine.view.ViewDeltaResultModel

        if (listener != null) {
          ViewResultMode resultMode = getResultMode();
          if (!resultMode.equals(ViewResultMode.NONE)) {
            ViewComputationResultModel userFullResult = isFullResultRequired(resultMode,
                                                                             isFirstResult) ? fullResult : null;
            ViewDeltaResultModel userDeltaResult = isDeltaResultRequired(resultMode,
                                                                         isFirstResult) ? deltaResult : null;
            if (userFullResult != null || userDeltaResult != null) {
              listener.cycleCompleted(userFullResult, userDeltaResult);
            } else if (!isFirstResult || resultMode != ViewResultMode.DELTA_ONLY) {
              // Would expect this if it's the first result and we're in delta only mode, otherwise log a warning
              s_logger.warn("Ignored CycleCompleted call with no useful results to propagate");
            }
          }
        }
      }

      @Override
      public void cycleFragmentCompleted(ViewComputationResultModel fullFragment, ViewDeltaResultModel deltaFragment) {
        ViewComputationResultModel prevResult = _latestResult.get();
        ViewResultListener listener = _userResultListener.get();
        if (listener != null) {
          ViewResultMode resultMode = getFragmentResultMode();
          if (!resultMode.equals(ViewResultMode.NONE)) {
            ViewComputationResultModel userFullResult = isFullResultRequired(resultMode,
                                                                             prevResult == null) ? fullFragment : null;
            ViewDeltaResultModel userDeltaResult = isDeltaResultRequired(resultMode,
                                                                         prevResult == null) ? deltaFragment : null;
            if (userFullResult != null || userDeltaResult != null) {
              listener.cycleFragmentCompleted(userFullResult, userDeltaResult);
            } else if (prevResult == null || resultMode != ViewResultMode.DELTA_ONLY) {
              // Would expect this if it's the first result and we're in delta only mode, otherwise log a warning
View Full Code Here

Examples of com.opengamma.engine.view.ViewDeltaResultModel

    mergingListener.setPaused(false);

    testListener.assertViewDefinitionCompiled(Timeout.standardTimeoutMillis());
    testListener.assertViewDefinitionCompiled(Timeout.standardTimeoutMillis(), preCompilation);
    final ViewDeltaResultModel mergedDelta = testListener.getCycleCompleted(Timeout.standardTimeoutMillis()).getDeltaResult();

    assertEquals(2, mergedDelta.getAllResults().size());
    final Set<Pair<String, Integer>> results = new HashSet<Pair<String, Integer>>();
    for (final ViewResultEntry deltaItem : mergedDelta.getAllResults()) {
      results.add(Pair.of(deltaItem.getComputedValue().getSpecification().getValueName(), (Integer) deltaItem.getComputedValue().getValue()));
    }
    assertTrue(results.contains(Pair.of("value1", 1)));
    assertTrue(results.contains(Pair.of("value2", 2)));
View Full Code Here

Examples of com.opengamma.engine.view.ViewDeltaResultModel

    client.attachToViewProcess(env.getViewDefinition().getUniqueId(), ExecutionOptions.infinite(MarketData.live(), ExecutionFlags.none().get()));
    resultListener.assertViewDefinitionCompiled(TIMEOUT);
    resultListener.assertCycleStarted(TIMEOUT);
    resultListener.assertCycleFragmentCompleted(TIMEOUT);
    final ViewDeltaResultModel result1 = resultListener.getCycleCompleted(TIMEOUT).getDeltaResult();
    assertNotNull(result1);

    Map<ValueRequirement, Object> expected = new HashMap<ValueRequirement, Object>();
    expected.put(ViewProcessorTestEnvironment.getPrimitive1(), 1);
    expected.put(ViewProcessorTestEnvironment.getPrimitive2(), 2);
    assertComputationResult(expected, env.getCalculationResult(result1));

    client.pause();

    // Just update one live data value, and only this one value should end up in the delta
    marketDataProvider.addValue(ViewProcessorTestEnvironment.getPrimitive1(), 3);

    assertEquals(0, resultListener.getQueueSize());
    final ViewProcessImpl viewProcess = env.getViewProcess(vp, client.getUniqueId());
    env.getCurrentWorker(viewProcess).requestCycle();

    // Should have been merging results received in the meantime
    resultListener.assertNoCalls(TIMEOUT);
    client.resume();
    resultListener.assertCycleStarted(TIMEOUT);
    resultListener.assertCycleFragmentCompleted(TIMEOUT);
    final ViewDeltaResultModel result2 = resultListener.getCycleCompleted(TIMEOUT).getDeltaResult();

    expected = new HashMap<ValueRequirement, Object>();
    expected.put(ViewProcessorTestEnvironment.getPrimitive1(), 3);
    assertComputationResult(expected, env.getCalculationResult(result2));
  }
View Full Code Here
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.