From: Tony Tkacik Date: Tue, 17 Mar 2015 17:49:55 +0000 (+0000) Subject: Merge "BUG-2836 Workaround" X-Git-Tag: release/lithium~390 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=432bac36271971fcf91a006423d4d4dc27398ba5;hp=59bcd1c9dcf3c2f15cbd4085e746c72ec9d88840;p=controller.git Merge "BUG-2836 Workaround" --- 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;