From: Maros Marsalek Date: Tue, 17 Mar 2015 13:33:09 +0000 (+0100) Subject: BUG-2836 Workaround X-Git-Tag: release/lithium~390^2 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=353d45fbbbf7169114d7ccfb6540b24df6faf000 BUG-2836 Workaround Change-Id: Ibcec955562ed72946100512d8f1db294c2cb4ccd Signed-off-by: Maros Marsalek --- diff --git a/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/FeatureConfigPusher.java b/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/FeatureConfigPusher.java index 7b90580a66..2d3a011469 100644 --- a/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/FeatureConfigPusher.java +++ b/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/FeatureConfigPusher.java @@ -71,11 +71,16 @@ public class FeatureConfigPusher { private LinkedHashSet pushConfig(final Feature feature) throws Exception, InterruptedException { LinkedHashSet configs = new LinkedHashSet(); if(isInstalled(feature)) { - ChildAwareFeatureWrapper wrappedFeature = new ChildAwareFeatureWrapper(feature,featuresService); - configs = wrappedFeature.getFeatureConfigSnapshotHolders(); - if(!configs.isEmpty()) { - configs = pushConfig(configs); - feature2configs.putAll(feature, configs); + // FIXME Workaround for BUG-2836, features service returns null for feature: standard-condition-webconsole_0_0_0, 3.0.1 + if(featuresService.getFeature(feature.getName(), feature.getVersion()) == null) { + LOG.warn("Feature: {}, {} is missing from features service. Skipping", feature.getName(), feature.getVersion()); + } else { + ChildAwareFeatureWrapper wrappedFeature = new ChildAwareFeatureWrapper(feature, featuresService); + configs = wrappedFeature.getFeatureConfigSnapshotHolders(); + if (!configs.isEmpty()) { + configs = pushConfig(configs); + feature2configs.putAll(feature, configs); + } } } return configs;