Package org.fudgemsg

Examples of org.fudgemsg.FudgeMsg


  private void doSnapshot(Map<String, String> ticker2Buid) {
    ReferenceDataProvider refDataProvider = _refDataProvider;
    Map<String, FudgeMsg> refDataValues = refDataProvider.getReferenceDataIgnoreCache(ticker2Buid.keySet(), BloombergDataUtils.STANDARD_FIELDS_SET);
   
    for (String bloombergKey : ticker2Buid.keySet()) {
      FudgeMsg result = refDataValues.get(bloombergKey);
      if (result == null) {
        throw new OpenGammaRuntimeException("Result for " + bloombergKey + " was not found");
      }
     
      MutableFudgeMsg tickMsg = s_fudgeContext.newMessage();
View Full Code Here


    final URI uri = DataTempTargetRepositoryResource.uriLocateOrStore(getBaseUri());
    try {
      final FudgeContext context = getFudgeContext();
      final FudgeSerializer fsc = new FudgeSerializer(context);
      final FudgeDeserializer fdc = new FudgeDeserializer(context);
      final FudgeMsg response = accessRemote(uri).post(FudgeMsg.class, FudgeSerializer.addClassHeader(fsc.objectToFudgeMsg(target), target.getClass(), TempTarget.class));
      return fdc.fudgeMsgToObject(UniqueId.class, response);
    } catch (final UniformInterfaceException404NotFound e) {
      return null;
    }
  }
View Full Code Here

  public DoubleTimeSeries<?> buildObject(FudgeDeserializer deserializer, FudgeMsg message) {
    // read old LocalDateDoubleTimeSeries, see OpenGammaFudgeContext
    if (message.getByOrdinal(0).toString().contains("ArrayLocalDateDoubleTimeSeries") ||
        message.getByOrdinal(0).toString().contains("ListLocalDateDoubleTimeSeries") ||
        message.getByOrdinal(0).toString().contains("MapLocalDateDoubleTimeSeries")) {
      FudgeMsg fastSeries = message.getMessage(2);
      String encoding = fastSeries.getMessage(1).getString(1);
      int[] dates = (int[]) fastSeries.getValue(2);
      double[] values = (double[]) fastSeries.getValue(3);
      if (encoding.equals("DATE_DDMMYYYY")) {  // CSIGNORE
        // correct encoding
      } else if (encoding.equals("DATE_EPOCH_DAYS")) {
        for (int i = 0; i < dates.length; i++) {
          LocalDate d = LocalDate.ofEpochDay(dates[i]);
          dates[i] = LocalDateToIntConverter.convertToInt(d);
        }
      } else {
        throw new IllegalArgumentException("Unknown time-series encoding");
      }
      return ImmutableLocalDateDoubleTimeSeries.of(dates, values);
    }
   
    // read old ZonedDateTimeDoubleTimeSeries, see OpenGammaFudgeContext
    if (message.getByOrdinal(0).toString().contains("ZonedDateTimeDoubleTimeSeries")) {
      ZoneId zone = ZoneOffset.UTC;
      try {
        FudgeMsg converter = message.getMessage(1);
        zone = ZoneId.of(converter.getString(1));
      } catch (RuntimeException ex) {
        // ignore
      }
      FudgeMsg fastSeries = message.getMessage(2);
      String encoding = fastSeries.getMessage(1).getString(1);
      long[] instants = (long[]) fastSeries.getValue(2);
      double[] values = (double[]) fastSeries.getValue(3);
      if (encoding.equals("TIME_EPOCH_NANOS")) {  // CSIGNORE
        // correct encoding
      } else if (encoding.equals("TIME_EPOCH_MILLIS")) {
        for (int i = 0; i < instants.length; i++) {
          instants[i] = instants[i] * 1_000_000;
 
View Full Code Here

  @Override
  public TempTarget get(final UniqueId identifier) {
    final URI uri = DataTempTargetSourceResource.uriGet(getBaseUri(), identifier);
    try {
      final FudgeDeserializer fdc = new FudgeDeserializer(getFudgeContext());
      final FudgeMsg response = accessRemote(uri).get(FudgeMsg.class);
      return fdc.fudgeMsgToObject(TempTarget.class, response);
    } catch (final UniformInterfaceException404NotFound e) {
      return null;
    }
  }
View Full Code Here

      }
      final List<FudgeField> entries = message.getAllByName(ENTRIES_FIELD);
      final List<FudgeField> arrays = message.getAllByName(FX_RATES_FIELD);
      final double[][] fxRates = new double[entries.size()][];
      for (int i = 0; i < entries.size(); i++) {
        final FudgeMsg msg = (FudgeMsg) arrays.get(i).getValue();
        final double[] row = deserializer.fieldValueToObject(double[].class, msg.getByName(ROW_FIELD));
        fxRates[i] = row;
      }
      return new FXMatrix(map, fxRates);
    }
View Full Code Here

    assertNull(UniqueIdFudgeBuilder.fromFudgeMsg(new FudgeDeserializer(OpenGammaFudgeContext.getInstance()), null));
  }

  @Test(expectedExceptions = RuntimeException.class)
  public void test_fromFudgeMsg_empty() {
    FudgeMsg msg = getFudgeContext().newMessage();
    assertNull(UniqueIdFudgeBuilder.fromFudgeMsg(new FudgeDeserializer(OpenGammaFudgeContext.getInstance()), msg));
  }
View Full Code Here

      }
    }

    @Override
    public DoubleLabelledMatrix2D buildObject(FudgeDeserializer deserializer, FudgeMsg message) {
      FudgeMsg msg = message.getMessage(MATRIX_FIELD);
      Queue<String> xLabelTypes = new LinkedList<String>();
      Queue<FudgeField> xLabelValues = new LinkedList<FudgeField>();
      Queue<String> yLabelTypes = new LinkedList<String>();
      Queue<FudgeField> yLabelValues = new LinkedList<FudgeField>();
View Full Code Here

   * @param labelsKey name of the field containing label values
   * @param labelTypesKey name of the optional field containing additional type information
   * @return new labels array
   */
  protected Object[] readLabels(final FudgeDeserializer deserializer, final FudgeMsg message, final String labelsKey, final String labelTypesKey) {
    final FudgeMsg valueMsg = message.getMessage(labelsKey);
    if (valueMsg == null) {
      s_logger.warn("Message field {} not found in {}", labelsKey, message);
      throw new IllegalArgumentException("Message is not a LabelledMatrix3D - does not contain a " + labelsKey + " field");
    }
    final Object[] labels = new Object[valueMsg.getNumFields()];
    final FudgeMsg typeMsg = message.getMessage(labelTypesKey);
    final Iterator<FudgeField> itrValue = valueMsg.iterator();
    final Iterator<FudgeField> itrType = (typeMsg != null) ? typeMsg.iterator() : null;
    int i = 0;
    while (itrValue.hasNext()) {
      Class<?> type = null;
      if (itrType != null) {
        final FudgeField typeField = itrType.next();
View Full Code Here

   * @param keysKey name of the field containing the keys
   * @return the keys
   */
  @SuppressWarnings("unchecked")
  protected <K> K[] readKeys(final FudgeDeserializer deserializer, final FudgeMsg message, final Class<K> keyClass, final String keysKey) {
    final FudgeMsg submsg = message.getMessage(keysKey);
    if (submsg == null) {
      s_logger.warn("Message field {} not found in {}", keysKey, message);
      throw new IllegalArgumentException("Message is not a LabelledMatrix3D - does not contain a " + keysKey + " field");
    }
    final K[] keys = (K[]) Array.newInstance(keyClass, submsg.getNumFields());
    int i = 0;
    for (FudgeField key : submsg) {
      keys[i++] = deserializer.fieldValueToObject(keyClass, key);
    }
    return keys;
View Full Code Here

    public MulticurveSensitivity buildObject(final FudgeDeserializer deserializer, final FudgeMsg message) {
      final Map<String, List<DoublesPair>> yieldCurveSensitivities = new HashMap<>();
      final Map<String, List<ForwardSensitivity>> forwardCurveSensitivities = new HashMap<>();
      final List<FudgeField> yieldCurveFields = message.getAllByName(SENSITIVITY_TO_YIELD_DATA);
      for (final FudgeField yieldCurveField : yieldCurveFields) {
        final FudgeMsg perCurveMessage = (FudgeMsg) yieldCurveField.getValue();
        final String yieldCurveName = perCurveMessage.getString(YIELD_CURVE_NAME);
        final List<FudgeField> timeFields = perCurveMessage.getAllByName(SENSITIVITY_TO_YIELD_TIME);
        final List<FudgeField> valueFields = perCurveMessage.getAllByName(SENSITIVITY_TO_YIELD_VALUE);
        if (timeFields.size() != valueFields.size()) {
          throw new OpenGammaRuntimeException("number of times and values not equal");
        }
        final List<DoublesPair> sensitivities = new ArrayList<>();
        for (int i = 0; i < timeFields.size(); i++) {
          final Double time = deserializer.fieldValueToObject(Double.class, timeFields.get(i));
          final Double sensitivity = deserializer.fieldValueToObject(Double.class, valueFields.get(i));
          sensitivities.add(new DoublesPair(time, sensitivity));
        }
        yieldCurveSensitivities.put(yieldCurveName, sensitivities);
      }
      final List<FudgeField> forwardCurveFields = message.getAllByName(SENSITIVITY_TO_FORWARD_DATA);
      for (final FudgeField forwardCurveField : forwardCurveFields) {
        final FudgeMsg perCurveMessage = (FudgeMsg) forwardCurveField.getValue();
        final String forwardCurveName = perCurveMessage.getString(FORWARD_CURVE_NAME);
        final List<FudgeField> valueFields = perCurveMessage.getAllByName(SENSITIVITY_TO_FORWARD_VALUE);
        final List<ForwardSensitivity> sensitivities = new ArrayList<>();
        for (int i = 0; i < valueFields.size(); i++) {
          final ForwardSensitivity sensitivity = deserializer.fieldValueToObject(ForwardSensitivity.class, valueFields.get(i));
          sensitivities.add(sensitivity);
        }
View Full Code Here

TOP

Related Classes of org.fudgemsg.FudgeMsg

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.