Package com.opengamma.livedata

Examples of com.opengamma.livedata.LiveDataSpecification


    synchronized (_liveDataClient) {
      synchronized (_activeSubscriptions) {
        for (final ValueSpecification valueSpecification : valueSpecifications) {
          Subscription subscription = _allSubscriptions.get(valueSpecification);
          if (subscription == null) {
            final LiveDataSpecification liveDataSpecification = LiveMarketDataAvailabilityProvider.getLiveDataSpecification(valueSpecification);
            subscription = _activeSubscriptions.get(liveDataSpecification);
            if (subscription == null) {
              // Start a new subscription
              subscription = new Subscription(valueSpecification, liveDataSpecification);
              _allSubscriptions.put(valueSpecification, subscription);
              _activeSubscriptions.put(liveDataSpecification, subscription);
              toSubscribe.add(liveDataSpecification);
              continue;
            }
            _allSubscriptions.put(valueSpecification, subscription);
          }
          // Increment the count on an open subscription
          subscription.incrementCount(valueSpecification);
          // If the subscription previously failed, try again -- is this the behavior we want; or should we be a bit less eager to retry?
          if (subscription.getRequestedLiveData() == null) {
            final LiveDataSpecification liveDataSpecification = LiveMarketDataAvailabilityProvider.getLiveDataSpecification(valueSpecification);
            subscription.retry(liveDataSpecification);
            toSubscribe.add(liveDataSpecification);
          } else /*if (subscription.getFullyQualifiedLiveData() != null)*/ {
            alreadySubscribed.add(valueSpecification);
          }
View Full Code Here


          if (subscription != null) {
            if (subscription.decrementCount(valueSpecification)) {
              _allSubscriptions.remove(valueSpecification);

              if (subscription.isUnsubscribed()) {
                final LiveDataSpecification requestedLiveData = subscription.getRequestedLiveData();
                if (requestedLiveData != null) {
                  _activeSubscriptions.remove(requestedLiveData);

                  final LiveDataSpecification actualLiveData = subscription.getFullyQualifiedLiveData();
                  if (actualLiveData != null) {
                    if (actualLiveData != requestedLiveData) {
                      _activeSubscriptions.remove(actualLiveData);
                    }
                    liveDataSpecs.add(actualLiveData);
View Full Code Here

   * @param schemes The schemes for which market data subscriptions should be reattempted.
   */
  /* package */ void resubscribe(Set<ExternalScheme> schemes) {
    Set<ValueSpecification> valueSpecs = Sets.newHashSet();
    for (ValueSpecification valueSpec : _allSubscriptions.keySet()) {
      LiveDataSpecification liveDataSpec = LiveMarketDataAvailabilityProvider.getLiveDataSpecification(valueSpec);
      for (ExternalId id : liveDataSpec.getIdentifiers()) {
        if (schemes.contains(id.getScheme())) {
          valueSpecs.add(valueSpec);
        }
      }
    }
View Full Code Here

    final ExternalId[] identifiers = new ExternalId[identifierStrings.size()];
    int i = 0;
    for (final String identifierString : identifierStrings) {
      identifiers[i++] = ExternalId.parse(identifierString);
    }
    return new LiveDataSpecification(normalizer, identifiers);
  }
View Full Code Here

  }

  private Map<LiveDataSpecification, Collection<ValueSpecification>> getRequiredLiveDataSpecifications(final Set<ValueSpecification> specifications) {
    final Map<LiveDataSpecification, Collection<ValueSpecification>> returnValue = Maps.newHashMapWithExpectedSize(specifications.size());
    for (final ValueSpecification specification : specifications) {
      final LiveDataSpecification liveDataSpec = LiveMarketDataAvailabilityProvider.getLiveDataSpecification(specification);
      Collection<ValueSpecification> specs = returnValue.get(liveDataSpec);
      if (specs == null) {
        specs = new ArrayList<ValueSpecification>();
        returnValue.put(liveDataSpec, specs);
      }
View Full Code Here

    msg2.add(_marketDataRequirement, 52.15);
    final MutableFudgeMsg msg3a = new FudgeContext().newMessage();
    msg3a.add(_marketDataRequirement, 52.16);
    final MutableFudgeMsg msg3b = new FudgeContext().newMessage();
    msg3b.add(_marketDataRequirement, 52.17);
    client.marketDataReceived(new LiveDataSpecification(client.getDefaultNormalizationRuleSetId(), getTicker("test1")), msg1);
    client.marketDataReceived(new LiveDataSpecification(client.getDefaultNormalizationRuleSetId(), getTicker("test2")), msg2);
    client.marketDataReceived(new LiveDataSpecification(client.getDefaultNormalizationRuleSetId(), getTicker("test3")), msg3a);
    client.marketDataReceived(new LiveDataSpecification(client.getDefaultNormalizationRuleSetId(), getTicker("test3")), msg3b);
    final MarketDataSnapshot snapshot = provider.snapshot(null);
    snapshot.init(Collections.<ValueSpecification>emptySet(), 0, TimeUnit.MILLISECONDS);
    final Double test1Value = (Double) snapshot.query(test1Specification);
    assertNotNull(test1Value);
    assertEquals(52.07, test1Value, 0.000001);
View Full Code Here

TOP

Related Classes of com.opengamma.livedata.LiveDataSpecification

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.