Package org.fudgemsg

Examples of org.fudgemsg.FudgeMsg


  protected ReferenceDataProviderGetResult doBulkGet(ReferenceDataProviderGetRequest request) {
    ReferenceDataProviderGetResult result = new ReferenceDataProviderGetResult();
    for (String identifier : request.getIdentifiers()) {
      // copy the requested fields across into a new message
      MutableFudgeMsg fieldData = _fudgeContext.newMessage();
      FudgeMsg allFieldData = _data.get(identifier);
      if (allFieldData != null) {
        for (String fieldName : request.getFields()) {
          Object fieldValue = allFieldData.getValue(fieldName);
          fieldData.add(fieldName, fieldValue);
        }
      }
      ReferenceData refData = new ReferenceData(identifier, fieldData);
      result.addReferenceData(refData);
View Full Code Here


      while (msgIter.hasNext()) {
        Message msg = msgIter.next();
        String bbgUniqueId = msg.topicName();

        if (event.eventType() == Event.EventType.SUBSCRIPTION_DATA) {
          FudgeMsg eventAsFudgeMsg = BloombergDataUtils.parseElement(msg.asElement());
          liveDataReceived(bbgUniqueId, eventAsFudgeMsg);
          // REVIEW 2012-09-19 Andrew -- Why return? Might the event contain multiple messages?
          return;
        }
        s_logger.info("Got event {} {} {}", event.eventType(), bbgUniqueId, msg.asElement());
View Full Code Here

      return null;
    } else if (result.isIdentifierError()) {
      s_logger.info("Failed to retrieve reference data for {}: {}", request, result.getErrors());
      return null;
    }
    FudgeMsg resultFields = result.getFieldValues();
   
    final String prefix = "LiveData" + SEPARATOR + "Bloomberg" + SEPARATOR;
    final String suffix = request.getNormalizationRule().getJmsTopicSuffix();
    final String bbgUniqueId = request.getMarketDataUniqueId().getValue();
    final String defaultTopicName = prefix + bbgUniqueId + suffix;
   
    String bbgSecurityType = resultFields.getString(BloombergConstants.FIELD_SECURITY_TYPE);
    if (bbgSecurityType == null) {
      return defaultTopicName;     
   
    } else if (BBG_VALID_EQUITY_TYPES.contains(bbgSecurityType)) {
     
      String bbgExchange = resultFields.getString(BloombergConstants.FIELD_PRIMARY_EXCHANGE_NAME);
      String bbgTicker = resultFields.getString(BloombergConstants.FIELD_TICKER);
     
      if (bbgExchange == null || bbgTicker == null) {
        return defaultTopicName;
      }
     
      return prefix + "Equity" + SEPARATOR + bbgExchange + SEPARATOR + bbgTicker + suffix;
     
    } else if (bbgSecurityType.equals(BloombergConstants.BLOOMBERG_US_DOMESTIC_BOND_SECURITY_TYPE)) {
     
      String issuer = resultFields.getString(BloombergConstants.FIELD_ISSUER);
      String cusip = resultFields.getString(BloombergConstants.FIELD_ID_CUSIP);
     
      if (issuer == null || cusip == null) {
        return defaultTopicName;        
      }
     
      return prefix + "Bond" + SEPARATOR + issuer + SEPARATOR + cusip + suffix;
     
    } else if (bbgSecurityType.equals(BloombergConstants.BLOOMBERG_GLOBAL_BOND_SECURITY_TYPE)) {
     
      String issuer = resultFields.getString(BloombergConstants.FIELD_ISSUER);
      String isin = resultFields.getString(BloombergConstants.FIELD_ID_ISIN);
     
      if (issuer == null || isin == null) {
        return defaultTopicName;        
      }
     
      return prefix + "Bond" + SEPARATOR + issuer + SEPARATOR + isin + suffix;
     
    } else if (bbgSecurityType.equals(BloombergConstants.BLOOMBERG_EQUITY_OPTION_SECURITY_TYPE)) {
     
      String underlyingTicker = resultFields.getString(BloombergConstants.FIELD_OPT_UNDL_TICKER);
      String ticker = resultFields.getString(BloombergConstants.FIELD_TICKER);
     
      if (underlyingTicker == null || ticker == null) {
        return defaultTopicName;        
      }
     
View Full Code Here

   
    // caching ref data provider must not be used here
    Map<String, FudgeMsg> snapshotValues = getReferenceDataProvider().getReferenceDataIgnoreCache(buids, BloombergDataUtils.STANDARD_FIELDS_SET);
    Map<String, FudgeMsg> returnValue = Maps.newHashMap();
    for (String buid : buids) {
      FudgeMsg fieldData = snapshotValues.get(buid);
      if (fieldData == null) {
        Exception e = new Exception("Stack Trace");
        e.fillInStackTrace();
        s_logger.error("Could not find result for {} in data snapshot, skipping", buid, e);
        //throw new OpenGammaRuntimeException("Result for " + buid + " was not found");
View Full Code Here

  @Override
  protected Map<String, FudgeMsg> doSnapshot(Collection<String> uniqueIds) {
    Map<String, FudgeMsg> returnValue = new HashMap<String, FudgeMsg>();
   
    for (String uniqueId : uniqueIds) {
      FudgeMsg snapshot = _uniqueId2MarketData.get(uniqueId);
      if (snapshot == null) {
        snapshot = OpenGammaFudgeContext.getInstance().newMessage();
      }
      returnValue.put(uniqueId, snapshot);
    }
View Full Code Here

    return returnValue;
  }
 
  public void sendLiveDataToClient() {
    for (Subscription subscription : getSubscriptions()) {
      FudgeMsg marketData = doSnapshot(subscription.getSecurityUniqueId());
      liveDataReceived(subscription.getSecurityUniqueId(), marketData);
    }
  }
View Full Code Here

  //-------------------------------------------------------------------------
  @Override
  @Transactional
  public FudgeMsg requestReceived(FudgeDeserializer deserializer, FudgeMsgEnvelope requestEnvelope) {
    FudgeMsg requestFudgeMsg = requestEnvelope.getMessage();
    EntitlementRequest entitlementRequest = EntitlementRequest.fromFudgeMsg(deserializer, requestFudgeMsg);
    s_logger.debug("Received entitlement request {}", entitlementRequest);
   
    Map<LiveDataSpecification, Boolean> isEntitledMap = _delegate.isEntitled(entitlementRequest.getUser(), entitlementRequest.getLiveDataSpecifications());
   
View Full Code Here

   
    MutableFudgeMsg msg = OpenGammaFudgeContext.getInstance().newMessage();
    msg.add("Bar", 2.0);
    msg.add("Baz", 500);
   
    FudgeMsg normalizedMsg = ruleSet.getNormalizedMessage(msg, "123", new FieldHistoryStore());
    assertNull(normalizedMsg);
  }
View Full Code Here

  public LiveDataSpecification resolve(
      LiveDataSpecification spec) {
   
    s_logger.info("Sending message to resolve ", spec);
    ResolveRequest resolveRequest = new ResolveRequest(spec);
    FudgeMsg requestMessage = resolveRequest.toFudgeMsg(new FudgeSerializer(_fudgeContext));
    final AtomicBoolean responseReceived = new AtomicBoolean(false);
    final AtomicReference<LiveDataSpecification> resolved = new AtomicReference<LiveDataSpecification>();
    _requestSender.sendRequest(requestMessage, new FudgeMessageReceiver() {
     
      @Override
      public void messageReceived(FudgeContext fudgeContext,
          FudgeMsgEnvelope msgEnvelope) {
       
        FudgeMsg msg = msgEnvelope.getMessage();
        ResolveResponse response = ResolveResponse.fromFudgeMsg(new FudgeDeserializer(_fudgeContext), msg);
        resolved.set(response.getResolvedSpecification());
        responseReceived.set(true);
       
      }
View Full Code Here

      }
    }
   
    // Build request message
    LiveDataSubscriptionRequest subReqMessage = new LiveDataSubscriptionRequest(user, type, specs);
    FudgeMsg requestMessage = subReqMessage.toFudgeMsg(new FudgeSerializer(getFudgeContext()));
   
    // Build response receiver
    FudgeMessageReceiver responseReceiver;
    if (type == SubscriptionType.SNAPSHOT) {
      responseReceiver = new SnapshotResponseReceiver(subHandles);
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.