Package com.opengamma.engine.calcnode

Examples of com.opengamma.engine.calcnode.CalculationJobSpecification


  private final ExecutorService _executorService = Executors.newCachedThreadPool();

  private static final AtomicLong s_jobId = new AtomicLong();

  protected static CalculationJobSpecification createTestJobSpec() {
    return new CalculationJobSpecification(UniqueId.of("Test", "ViewCycle"), "default", Instant.now(), s_jobId.incrementAndGet());
  }
View Full Code Here


    return getCalculationJob(function, ExecutionLogMode.INDICATORS);
  }

  public static CalculationJob getCalculationJob(final MockFunction function, final ExecutionLogMode logMode) {
    final Instant valuationTime = Instant.now();
    final CalculationJobSpecification jobSpec = new CalculationJobSpecification(UniqueId.of("Test", "ViewProcess"), CALC_CONF_NAME, valuationTime, 1L);
    final CalculationJobItem calculationJobItem = new CalculationJobItem(function.getUniqueId(), function.getDefaultParameters(), function.getTarget().toSpecification(),
        getMockFunctionInputs(function), function.getResultSpecs(), logMode);
    final CalculationJob calcJob = new CalculationJob(jobSpec, 0L, VersionCorrection.LATEST, null, Collections.singletonList(calculationJobItem), CacheSelectHint.allShared());
    return calcJob;
  }
View Full Code Here

   * @return the allocated job specification
   */
  protected CalculationJobSpecification createJobSpecification() {
    // TODO: Should probably inject a job identifier source - if there are multiple view processor host processes then a static one like this
    // won't give us unique identifiers - we need to partition the identifier space amongst the processes that will use a common calc node pool
    return new CalculationJobSpecification(getCycleId(), getCalculationConfiguration(), getValuationTime(), JobIdSource.getId());
  }
View Full Code Here

  public static CalculationJobSpecification buildObjectImpl(final FudgeMsg msg) {
    UniqueId viewCycleId = msg.getValue(UniqueId.class, VIEW_CYCLE_ID_FIELD_NAME);
    String calcConfigName = msg.getString(CALCULATION_CONFIGURATION_FIELD_NAME);
    Instant valuationTime = msg.getValue(Instant.class, VALUATION_TIME_FIELD_NAME);
    long jobId = msg.getLong(JOB_ID_FIELD_NAME);
    return new CalculationJobSpecification(viewCycleId, calcConfigName, valuationTime, jobId);
  }
View Full Code Here

    return result;
  }

  @Override
  public CalculationJob buildObject(final FudgeDeserializer deserializer, final FudgeMsg message) {
    final CalculationJobSpecification jobSpec = CalculationJobSpecificationFudgeBuilder.buildObjectImpl(message);
    final CacheSelectHint cacheSelectHint = CacheSelectHintFudgeBuilder.buildObjectImpl(message);
    final long[] requiredJobIds = message.getValue(long[].class, REQUIRED_FIELD_NAME);
    final long functionInitializationIdentifier = message.getLong(FUNCTION_INITIALIZATION_IDENTIFIER_FIELD_NAME);
    final VersionCorrection resolverVersionCorrection = deserializer.fieldValueToObject(VersionCorrection.class, message.getByName(RESOLVER_VERSION_CORRECTION_FIELD_NAME));
    final List<CalculationJobItem> jobItems = buildItemsObject(deserializer, message.getMessage(ITEMS_FIELD_NAME));
View Full Code Here

    return result;
  }

  @Override
  public CalculationJobResult buildObject(FudgeDeserializer deserializer, FudgeMsg msg) {
    final CalculationJobSpecification jobSpec = CalculationJobSpecificationFudgeBuilder.buildObjectImpl(msg);
    final long duration = msg.getLong(DURATION_FIELD_NAME);
    final List<CalculationJobResultItem> jobItems = buildItemsObject(deserializer, msg.getMessage(ITEMS_FIELD_NAME));
    final String nodeId = msg.getString(NODE_ID_FIELD_NAME);
    return new CalculationJobResult(jobSpec, duration, jobItems, nodeId);
  }
View Full Code Here

public class CalculationJobResultTest {
  private static final FudgeContext s_fudgeContext = OpenGammaFudgeContext.getInstance();
 
  public void fudge() {
    IdentifierMap identifierMap = new InMemoryIdentifierMap ();
    CalculationJobSpecification spec = new CalculationJobSpecification(UniqueId.of("Test", "ViewCycle"), "config", Instant.now(), 1L);
   
    CalculationJobResultItem item1 = CalculationJobResultItem.success();
   
    MutableExecutionLog executionLog = new MutableExecutionLog(ExecutionLogMode.INDICATORS);
    CalculationJobResultItem item2 = CalculationJobResultItemBuilder.of(executionLog).withException(new RuntimeException("failure!")).toResultItem();
View Full Code Here

@Test(groups = TestGroup.UNIT)
public class CalculationJobSpecificationTest {
 
  public void testHashCode() {
    Instant valuationTime = Instant.now();
    CalculationJobSpecification spec1 = new CalculationJobSpecification(UniqueId.of("Test", "ViewProcess"), "config", valuationTime, 1L);
    CalculationJobSpecification spec2 = new CalculationJobSpecification(UniqueId.of("Test", "ViewProcess"), "config", valuationTime, 1L);
   
    assertEquals(spec1.hashCode(), spec2.hashCode());
   
    spec2 = new CalculationJobSpecification(UniqueId.of("Test", "ViewCycle2"), "config", valuationTime, 1L);
    assertFalse(spec1.hashCode() == spec2.hashCode());
    spec2 = new CalculationJobSpecification(UniqueId.of("Test", "ViewCycle"), "config2", valuationTime, 1L);
    assertFalse(spec1.hashCode() == spec2.hashCode());
    spec2 = new CalculationJobSpecification(UniqueId.of("Test", "ViewCycle"), "config", valuationTime.plusMillis(1), 1L);
    assertFalse(spec1.hashCode() == spec2.hashCode());
    spec2 = new CalculationJobSpecification(UniqueId.of("Test", "ViewCycle"), "config", valuationTime, 2L);
    assertFalse(spec1.hashCode() == spec2.hashCode());
  }
View Full Code Here

    assertFalse(spec1.hashCode() == spec2.hashCode());
  }

  public void testEquals() {
    Instant valuationTime = Instant.now();
    CalculationJobSpecification spec1 = new CalculationJobSpecification(UniqueId.of("Test", "ViewProcess"), "config", valuationTime, 1L);
    assertTrue(spec1.equals(spec1));
    assertFalse(spec1.equals(null));
    assertFalse(spec1.equals("Kirk"));
    CalculationJobSpecification spec2 = new CalculationJobSpecification(UniqueId.of("Test", "ViewProcess"), "config", valuationTime, 1L);
    assertTrue(spec1.equals(spec2));
   
    spec2 = new CalculationJobSpecification(UniqueId.of("Test", "ViewCycle2"), "config", valuationTime, 1L);
    assertFalse(spec1.equals(spec2));
    spec2 = new CalculationJobSpecification(UniqueId.of("Test", "ViewCycle"), "config2", valuationTime, 1L);
    assertFalse(spec1.equals(spec2));
    spec2 = new CalculationJobSpecification(UniqueId.of("Test", "ViewCycle"), "config", valuationTime.plusMillis(1), 1L);
    assertFalse(spec1.equals(spec2));
    spec2 = new CalculationJobSpecification(UniqueId.of("Test", "ViewCycle"), "config", valuationTime, 2L);
    assertFalse(spec1.equals(spec2));
  }
View Full Code Here

    assertFalse(spec1.equals(spec2));
  }
 
  public void fudgeEncoding() {
    FudgeContext context = OpenGammaFudgeContext.getInstance();
    CalculationJobSpecification spec1 = new CalculationJobSpecification(UniqueId.of("Test", "ViewCycle"), "config", Instant.now(), 1L);
    FudgeSerializer serializationContext = new FudgeSerializer(context);
    MutableFudgeMsg inMsg = serializationContext.objectToFudgeMsg(spec1);
    FudgeMsg outMsg = context.deserialize(context.toByteArray(inMsg)).getMessage();
    FudgeDeserializer deserializationContext = new FudgeDeserializer(context);
    CalculationJobSpecification spec2 = deserializationContext.fudgeMsgToObject(CalculationJobSpecification.class, outMsg);
    assertEquals(spec1, spec2);
  }
View Full Code Here

TOP

Related Classes of com.opengamma.engine.calcnode.CalculationJobSpecification

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.