Package com.bloomberglp.blpapi

Examples of com.bloomberglp.blpapi.Element


    UserHandle userHandle = getUserHandle(user);
    if (userHandle == null) {
      return false;
    }
   
    Element neededEntitlements = getEids(distributionSpec);
    if (neededEntitlements == null) {
      return true;
    }
   
    boolean isEntitled = userHandle.hasEntitlements(neededEntitlements, getService());
View Full Code Here


          cachedUserHandle = new net.sf.ehcache.Element(user, userHandle);
          _userHandleCache.put(cachedUserHandle);
          authorizedSuccessfully = true;         
         
        } else if (resultElem.name().equals(BloombergConstants.AUTHORIZATION_FAILURE)) {
          Element reasonElem = resultElem.getElement(BloombergConstants.REASON);
          s_logger.info("Bloomberg authorization failed {}", reasonElem);
         
        } else {
          s_logger.info("Bloomberg authorization result {}", resultElem);
        }
View Full Code Here

     
      ReferenceData result = refData.getReferenceData(lookupKey);
      if (result.getErrors().size() > 0) {
        throw new OpenGammaRuntimeException("Error while obtaining entitlement information: " + lookupKey);
      }
      Element eids = result.getEntitlementInfo();
     
      cachedEids = new net.sf.ehcache.Element(distributionSpec, eids);
      _eidCache.put(cachedEids);
    }
   
    Element neededEntitlements = (Element) cachedEids.getObjectValue();
    return neededEntitlements;
  }
View Full Code Here

     * Creates the Bloomberg request.
     */
    private Request createRequest(Set<String> identifiers, Set<String> dataFields) {
      // create request
      Request request = getService().createRequest(BLOOMBERG_REFERENCE_DATA_REQUEST);
      Element securitiesElem = request.getElement(BLOOMBERG_SECURITIES_REQUEST);
     
      // identifiers
      for (String identifier : identifiers) {
        if (StringUtils.isEmpty(identifier)) {
          throw new IllegalArgumentException("Must not have any null or empty securities");
        }
        securitiesElem.appendValue(identifier);
      }
     
      // fields
      Element fieldElem = request.getElement(BLOOMBERG_FIELDS_REQUEST);
      for (String dataField : dataFields) {
        if (StringUtils.isEmpty(dataField)) {
          throw new IllegalArgumentException("Must not have any null or empty fields");
        }
        if (dataField.equals(BloombergConstants.FIELD_EID_DATA) == false) {
          fieldElem.appendValue(dataField);
        }
      }
      if (dataFields.contains(BloombergConstants.FIELD_EID_DATA)) {
        request.set("returnEids", true);
      }
View Full Code Here

     */
    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

     * @param fieldExceptionArray  the bloomberg data, not null
     */
    protected void parseFieldExceptions(ReferenceData refData, Element fieldExceptionArray) {
      int numExceptions = fieldExceptionArray.numValues();
      for (int i = 0; i < numExceptions; i++) {
        Element exceptionElem = fieldExceptionArray.getValueAsElement(i);
        String fieldId = exceptionElem.getElementAsString(FIELD_ID);
        ReferenceDataError error = buildError(fieldId, exceptionElem.getElement(ERROR_INFO));
        refData.addError(error);
      }
    }
View Full Code Here

        s_logger.warn("msg = {}", msg.toString());
      }

      if (msg.hasElement(REASON)) {
        // This can occur on SubscriptionFailure.
        Element reason = msg.getElement(REASON);
        s_logger.warn("{}: security={} category={} description={}",
            new Object[]{_dateFormat.format(Calendar.getInstance().getTime()), topic, reason.getElement(CATEGORY).getValueAsString(), reason.getElement(DESCRIPTION).getValueAsString()});
      }

      if (msg.hasElement(EXCEPTIONS)) {
        // This can occur on SubscriptionStarted if at least
        // one field is good while the rest are bad.
        Element exceptions = msg.getElement(EXCEPTIONS);
        for (int i = 0; i < exceptions.numValues(); ++i) {
          Element exInfo = exceptions.getValueAsElement(i);
          Element fieldId = exInfo.getElement(FIELD_ID);
          Element reason = exInfo.getElement(REASON);
          s_logger.warn("{}: security={} field={} category={}",
              new Object[]{_dateFormat.format(Calendar.getInstance().getTime()), topic, fieldId.getValueAsString(), reason.getElement(CATEGORY).getValueAsString()});
        }
      }
      s_logger.debug("");
    }
  }
View Full Code Here

        Set<ExternalIdBundle> externalIdBundle, String dataProvider, String dataField, LocalDateRange dateRange,
        Integer maxPoints, Map<String, ExternalIdBundle> reverseBundleMap) {

      // create request
      Request request = getService().createRequest(BLOOMBERG_HISTORICAL_DATA_REQUEST);
      Element securitiesElem = request.getElement(BLOOMBERG_SECURITIES_REQUEST);

      // identifiers
      for (ExternalIdBundle identifiers : externalIdBundle) {
        ExternalId preferredId = getPreferredIdentifier(identifiers, dataProvider);
        s_logger.debug("Resolved preferred identifier {} from identifier bundle {}", preferredId, identifiers);
        String bbgKey = BloombergDomainIdentifierResolver.toBloombergKeyWithDataProvider(preferredId, dataProvider);
        securitiesElem.appendValue(bbgKey);
        reverseBundleMap.put(bbgKey, identifiers);
      }

      // field required
      Element fieldElem = request.getElement(BLOOMBERG_FIELDS_REQUEST);
      fieldElem.appendValue(dataField);

      // general settings
      request.set("periodicityAdjustment", "ACTUAL");
      request.set("periodicitySelection", "DAILY");
      request.set("startDate", toBloombergDate(dateRange.getStartDateInclusive()));
View Full Code Here

        if (resultElem.hasElement(RESPONSE_ERROR)) {
          s_logger.warn("Response error");
          extractError(resultElem.getElement(RESPONSE_ERROR));
          continue;
        }
        Element securityElem = resultElem.getElement(SECURITY_DATA);
        if (securityElem.hasElement(SECURITY_ERROR)) {
          extractError(securityElem.getElement(SECURITY_ERROR));
        }
        if (securityElem.hasElement(FIELD_EXCEPTIONS)) {
          Element fieldExceptions = securityElem.getElement(FIELD_EXCEPTIONS);

          for (int i = 0; i < fieldExceptions.numValues(); i++) {
            Element fieldException = fieldExceptions.getValueAsElement(i);
            String fieldId = fieldException.getElementAsString(FIELD_ID);
            s_logger.warn("Field error on {}", fieldId);
            Element errorInfo = fieldException.getElement(ERROR_INFO);
            extractError(errorInfo);
          }
        }
        if (securityElem.hasElement(FIELD_DATA)) {
          extractFieldData(securityElem, dataField, reverseBundleMap, result);
View Full Code Here

  }

  public static FudgeMsg parseElement(final Element element) {
    final MutableFudgeMsg fieldData = FudgeContext.GLOBAL_DEFAULT.newMessage();
    for (int iSubElement = 0; iSubElement < element.numElements(); iSubElement++) {
      final Element subElement = element.getElement(iSubElement);
      if (subElement.numValues() == 0) {
        continue;
      }
      final String name = subElement.elementDefinition().name().toString();
      final Object value = parseValue(subElement);
      if (value instanceof List<?>) {
        for (final Object obj : (List<?>) value) {
          fieldData.add(name, obj);
        }
View Full Code Here

TOP

Related Classes of com.bloomberglp.blpapi.Element

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.