X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fconfig%2Fconfig-persister-feature-adapter%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfigpusherfeature%2Finternal%2FChildAwareFeatureWrapper.java;h=672784a54b3fc520a7c3613c90037a2235dcac87;hp=2cb53ca560ec541cb325fb57058b57e2185539de;hb=3314dddc5692bed5eb837b0739ac3bb5ed1962ab;hpb=e811e0590846e41f514ab2bea7b3f17d112036ae diff --git a/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ChildAwareFeatureWrapper.java b/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ChildAwareFeatureWrapper.java index 2cb53ca560..672784a54b 100644 --- a/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ChildAwareFeatureWrapper.java +++ b/opendaylight/config/config-persister-feature-adapter/src/main/java/org/opendaylight/controller/configpusherfeature/internal/ChildAwareFeatureWrapper.java @@ -54,21 +54,26 @@ public class ChildAwareFeatureWrapper extends AbstractFeatureWrapper implements */ public LinkedHashSet getChildFeatures() throws Exception { List dependencies = feature.getDependencies(); - LinkedHashSet childFeatures = new LinkedHashSet(); + LinkedHashSet childFeatures = new LinkedHashSet<>(); if(dependencies != null) { for(Dependency dependency: dependencies) { Feature fi = extractFeatureFromDependency(dependency); - if(fi != null){ - ChildAwareFeatureWrapper wrappedFeature = new ChildAwareFeatureWrapper(fi,featuresService); - childFeatures.add(wrappedFeature); + if(fi != null) { + if(featuresService.getFeature(fi.getName(), fi.getVersion()) == null) { + LOG.warn("Feature: {}, {} is missing from features service. Skipping", fi.getName(), fi.getVersion()); + } else { + ChildAwareFeatureWrapper wrappedFeature = new ChildAwareFeatureWrapper(fi,featuresService); + childFeatures.add(wrappedFeature); + } } } } return childFeatures; } + @Override public LinkedHashSet getFeatureConfigSnapshotHolders() throws Exception { - LinkedHashSet snapShotHolders = new LinkedHashSet(); + LinkedHashSet snapShotHolders = new LinkedHashSet<>(); for(ChildAwareFeatureWrapper c: getChildFeatures()) { for(FeatureConfigSnapshotHolder h: c.getFeatureConfigSnapshotHolders()) { final Optional featureConfigSnapshotHolder = getFeatureConfigSnapshotHolder(h.getFileInfo());