Package com.opengamma.bbg.referencedata

Examples of com.opengamma.bbg.referencedata.ReferenceDataProviderGetResult


  }

  //-------------------------------------------------------------------------
  @Override
  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);
    }
    return result;
  }
View Full Code Here


    }
   
    if (!lookupKey2Requests.keySet().isEmpty()) {
      ReferenceDataProviderGetRequest rdRequest = ReferenceDataProviderGetRequest.createGet(
          lookupKey2Requests.keySet(), BloombergConstants.JMS_TOPIC_NAME_RESOLVER_FIELDS, true);
      ReferenceDataProviderGetResult referenceData = _referenceDataProvider.getReferenceData(rdRequest);
     
      for (Map.Entry<String, Collection<JmsTopicNameResolveRequest>> entry : lookupKey2Requests.entrySet()) {
        String lookupKey = entry.getKey();
        ReferenceData result = referenceData.getReferenceDataOrNull(lookupKey);
       
        for (JmsTopicNameResolveRequest request : entry.getValue()) {
          String jmsTopicName = getJmsTopicName(request, result);
          returnValue.put(request, jmsTopicName);
        }
View Full Code Here

      String lookupKey = BloombergDomainIdentifierResolver.toBloombergKey(distributionSpec.getMarketDataId());
      Set<String> fields = Sets.newHashSet(
          BloombergConstants.FIELD_ID_BBG_UNIQUE, // TODO, this is necessary because otherwise the request would not get any real fields
          BloombergConstants.FIELD_EID_DATA);
      ReferenceDataProviderGetRequest rdRequest = ReferenceDataProviderGetRequest.createGet(Collections.singleton(lookupKey), fields, true);
      ReferenceDataProviderGetResult refData = _refDataProvider.getReferenceData(rdRequest);
     
      ReferenceData result = refData.getReferenceData(lookupKey);
      if (result.getErrors().size() > 0) {
        throw new OpenGammaRuntimeException("Error while obtaining entitlement information: " + lookupKey);
      }
      Element eids = result.getEntitlementInfo();
     
View Full Code Here

  }

  //-------------------------------------------------------------------------
  @Override
  protected ReferenceDataProviderGetResult doBulkGet(ReferenceDataProviderGetRequest request) {
    ReferenceDataProviderGetResult result = _underlying.getReferenceData(request);
    processResult(result, request.getFields());
    return result;
  }
View Full Code Here

  }

  //-------------------------------------------------------------------------
  @Override
  protected ReferenceDataProviderGetResult doBulkGet(ReferenceDataProviderGetRequest request) {
    ReferenceDataProviderGetResult result = new ReferenceDataProviderGetResult();
    for (String identifier : request.getIdentifiers()) {
      ReferenceData rd = new ReferenceData(identifier);
      rd.addError(new ReferenceDataError(null, -1, null, null, "None found"));
      result.addReferenceData(rd);
    }
    return result;
  }
View Full Code Here

  }

  protected static Map<String, FudgeMsg> queryMap(final ReferenceDataProviderGetRequest request, final ReferenceDataProvider provider) {
    final Set<String> identifiers = ImmutableSet.copyOf(request.getIdentifiers()); // copy to avoid implementation bugs
    final Set<String> fields = ImmutableSet.copyOf(request.getFields()); // copy to avoid implementation bugs
    final ReferenceDataProviderGetResult result = provider.getReferenceData(request);
    // extract identifier to field-values
    Map<String, FudgeMsg> map = Maps.newHashMap();
    for (String identifier : identifiers) {
      ReferenceData data = result.getReferenceDataOrNull(identifier);
      if (data != null) {
        // filter results by error list (if clause is an optimization)
        if (data.getErrors().size() == 0) {
          map.put(identifier, data.getFieldValues());
        } else {
View Full Code Here

  public ReferenceDataProviderGetResult getReferenceData(ReferenceDataProviderGetRequest request) {
    ArgumentChecker.notNull(request, "request");
   
    // short-cut empty case
    if (request.getIdentifiers().isEmpty()) {
      return new ReferenceDataProviderGetResult();
    }
    if (request.getFields().isEmpty()) {
      ReferenceDataProviderGetResult result = new ReferenceDataProviderGetResult();
      for (String identifier : request.getIdentifiers()) {
        result.addReferenceData(new ReferenceData(identifier));
      }
      return result;
    }
   
    // get time-series
View Full Code Here

        throw new OpenGammaRuntimeException("reference data request message from fudgeMsg cannot be null");
      }
      Set<String> securities = refDataRequest.getSecurities();
      Set<String> fields = refDataRequest.getFields();
      ReferenceDataProviderGetRequest underlyingRequest = ReferenceDataProviderGetRequest.createGet(securities, fields, true);
      ReferenceDataProviderGetResult underlyingResult = _underlying.getReferenceData(underlyingRequest);
      ReferenceDataResult refDataResult = new ReferenceDataResult();
      for (ReferenceData refData : underlyingResult.getReferenceData()) {
        refDataResult.addResult(new PerSecurityReferenceDataResult(refData));
      }
      return refDataResult.toFudgeMsg(deserializer.getFudgeContext());
    }
View Full Code Here

    final Set<String> bbgFields = new HashSet<String>();
    bbgFields.add("INDX_MEMBERS");
    bbgFields.add("INDX_MEMBERS2");
    bbgFields.add("INDX_MEMBERS3");
    final ReferenceDataProviderGetRequest dataRequest = ReferenceDataProviderGetRequest.createGet(indexTicker, bbgFields, true);
    final ReferenceDataProviderGetResult dataResult = refDataProvider.getReferenceData(dataRequest);
    final ReferenceData perSecResult = dataResult.getReferenceData(indexTicker);
    if (perSecResult.isIdentifierError()) {
      final List<ReferenceDataError> errors = perSecResult.getErrors();
      if (!errors.isEmpty()) {
        s_logger.warn("Unable to lookup Index {} members because of exceptions {}", indexTicker, errors.toString());
        throw new OpenGammaRuntimeException("Unable to lookup Index members because of exceptions " + errors.toString());
View Full Code Here

     * @param fields  the set of fields, not null
     * @param resultElements  the result elements from Bloomberg, not null
     * @return the parsed result, not null
     */
    protected ReferenceDataProviderGetResult parse(Set<String> securityKeys, Set<String> fields, BlockingQueue<Element> resultElements) {
      ReferenceDataProviderGetResult result = new ReferenceDataProviderGetResult();
      for (Element resultElem : resultElements) {
        if (resultElem.hasElement(RESPONSE_ERROR)) {
          Element responseError = resultElem.getElement(RESPONSE_ERROR);
          String category = responseError.getElementAsString(BloombergConstants.CATEGORY);
          if ("LIMIT".equals(category)) {
            s_logger.error("Limit reached {}", responseError);
          }
          throw new OpenGammaRuntimeException("Unable to get a Bloomberg response for " + fields + " fields for " + securityKeys + ": " + responseError);
        }
       
        Element securityDataArray = resultElem.getElement(SECURITY_DATA);
        int numSecurities = securityDataArray.numValues();
        for (int iSecurityElem = 0; iSecurityElem < numSecurities; iSecurityElem++) {
          Element securityElem = securityDataArray.getValueAsElement(iSecurityElem);
          String securityKey = securityElem.getElementAsString(SECURITY);
          ReferenceData refData = new ReferenceData(securityKey);
          if (securityElem.hasElement(SECURITY_ERROR)) {
            parseIdentifierError(refData, securityElem.getElement(SECURITY_ERROR));
          }
          if (securityElem.hasElement(FIELD_DATA)) {
            parseFieldData(refData, securityElem.getElement(FIELD_DATA));
          }
          if (securityElem.hasElement(FIELD_EXCEPTIONS)) {
            parseFieldExceptions(refData, securityElem.getElement(FIELD_EXCEPTIONS));
          }
          if (securityElem.hasElement(EID_DATA)) {
            parseEidData(refData, securityElem.getElement(FIELD_DATA));
          }
          result.addReferenceData(refData);
        }
      }
      return result;
    }
View Full Code Here

TOP

Related Classes of com.opengamma.bbg.referencedata.ReferenceDataProviderGetResult

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.