liveDataSpecs = new ArrayList<LiveDataSpecification>();
identifierBundle2LiveDataSpec.put(liveDataSpec.getIdentifiers(), liveDataSpecs);
}
liveDataSpecs.add(liveDataSpec);
NormalizationRuleSet normalizationRule = _normalizationRuleResolver.resolve(liveDataSpec.getNormalizationRuleSetId());
liveDataSec2NormalizationRule.put(liveDataSpec, normalizationRule);
}
Map<ExternalIdBundle, ExternalId> bundle2Identifier = _idResolver.resolve(identifierBundles);
for (Map.Entry<ExternalIdBundle, ExternalId> entry : bundle2Identifier.entrySet()) {
Collection<LiveDataSpecification> liveDataSpecsForBundle = identifierBundle2LiveDataSpec.get(entry.getKey());
for (LiveDataSpecification liveDataSpecForBundle : liveDataSpecsForBundle) {
liveDataSec2Identifier.put(liveDataSpecForBundle, entry.getValue());
}
}
for (LiveDataSpecification liveDataSpec : liveDataSpecifications) {
ExternalId identifier = liveDataSec2Identifier.get(liveDataSpec);
NormalizationRuleSet normalizationRule = liveDataSec2NormalizationRule.get(liveDataSpec);
if (identifier == null || normalizationRule == null) {
liveDataSec2JmsTopicName.put(liveDataSpec, null);
} else {
JmsTopicNameResolveRequest jmsTopicNameRequest = new JmsTopicNameResolveRequest(identifier, normalizationRule);
jmsTopicNameRequests.add(jmsTopicNameRequest);
Collection<LiveDataSpecification> liveDataSpecs = jmsTopicNameRequest2LiveDataSec.get(jmsTopicNameRequest);
if (liveDataSpecs == null) {
liveDataSpecs = new ArrayList<LiveDataSpecification>();
jmsTopicNameRequest2LiveDataSec.put(jmsTopicNameRequest, liveDataSpecs);
}
liveDataSpecs.add(liveDataSpec);
}
}
Map<JmsTopicNameResolveRequest, String> jmsTopicNames = _jmsTopicNameResolver.resolve(jmsTopicNameRequests);
for (Map.Entry<JmsTopicNameResolveRequest, String> entry : jmsTopicNames.entrySet()) {
Collection<LiveDataSpecification> liveDataSpecsForRequest = jmsTopicNameRequest2LiveDataSec.get(entry.getKey());
for (LiveDataSpecification liveDataSpecForRequest : liveDataSpecsForRequest) {
liveDataSec2JmsTopicName.put(liveDataSpecForRequest, entry.getValue());
}
}
Map<LiveDataSpecification, DistributionSpecification> returnValue = new HashMap<LiveDataSpecification, DistributionSpecification>();
for (LiveDataSpecification liveDataSpec : liveDataSpecifications) {
ExternalId identifier = liveDataSec2Identifier.get(liveDataSpec);
NormalizationRuleSet normalizationRule = liveDataSec2NormalizationRule.get(liveDataSpec);
String jmsTopicName = liveDataSec2JmsTopicName.get(liveDataSpec);
if (identifier == null || normalizationRule == null || jmsTopicName == null) {
s_logger.info("Unable to resolve liveDataSpec: {} - identifier: {}, normalizationRule: {}, jmsTopicName: {}",
liveDataSpec, identifier, normalizationRule, jmsTopicName);
returnValue.put(liveDataSpec, null);