X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fblueprint%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fblueprint%2Fext%2FStaticServiceReferenceRecipe.java;h=26246f9d08876a1785a675a1bb108f230f398be3;hb=HEAD;hp=8f3ca2446ac01da4158441e5d00668d138d2c54c;hpb=d8be13e36b4a5fca3155e7ab3e840ba9ab5a75b1;p=controller.git diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/StaticServiceReferenceRecipe.java b/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/StaticServiceReferenceRecipe.java index 8f3ca2446a..26246f9d08 100644 --- a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/StaticServiceReferenceRecipe.java +++ b/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/StaticServiceReferenceRecipe.java @@ -7,7 +7,9 @@ */ package org.opendaylight.controller.blueprint.ext; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkNotNull; +import static java.util.Objects.requireNonNull; + import java.util.Collections; import java.util.function.Consumer; import org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe; @@ -27,10 +29,6 @@ import org.slf4j.LoggerFactory; class StaticServiceReferenceRecipe extends AbstractServiceReferenceRecipe { private static final Logger LOG = LoggerFactory.getLogger(StaticServiceReferenceRecipe.class); - private static final SatisfactionListener NOOP_LISTENER = satisfiable -> { - - }; - private volatile ServiceReference trackedServiceReference; private volatile Object trackedService; private Consumer serviceSatisfiedCallback; @@ -42,8 +40,10 @@ class StaticServiceReferenceRecipe extends AbstractServiceReferenceRecipe { } void startTracking(final Consumer newServiceSatisfiedCallback) { - this.serviceSatisfiedCallback = newServiceSatisfiedCallback; - super.start(NOOP_LISTENER); + serviceSatisfiedCallback = newServiceSatisfiedCallback; + super.start(satisfiable -> { + // Intentional NOOP + }); } @SuppressWarnings("rawtypes") @@ -58,7 +58,7 @@ class StaticServiceReferenceRecipe extends AbstractServiceReferenceRecipe { LOG.debug("{}: In untrack {}", getName(), reference); if (trackedServiceReference == reference) { - LOG.debug("{}: Current reference has been untracked", getName(), trackedServiceReference); + LOG.debug("{}: Current reference {} has been untracked", getName(), trackedServiceReference); } } @@ -78,6 +78,8 @@ class StaticServiceReferenceRecipe extends AbstractServiceReferenceRecipe { } @Override + // Disables "Either log or rethrow this exception" sonar warning + @SuppressWarnings("squid:S1166") protected void doStop() { LOG.debug("{}: In doStop", getName()); @@ -104,14 +106,16 @@ class StaticServiceReferenceRecipe extends AbstractServiceReferenceRecipe { return trackedService; } - Preconditions.checkNotNull(localTrackedServiceReference, "trackedServiceReference is null"); - - trackedService = getServiceSecurely(localTrackedServiceReference); + trackedService = getServiceSecurely(requireNonNull(localTrackedServiceReference, + "trackedServiceReference is null")); LOG.debug("{}: Returning service instance: {}", getName(), trackedService); - Preconditions.checkNotNull(trackedService, "getService() returned null for %s", localTrackedServiceReference); + return checkNotNull(trackedService, "getService() returned null for %s", localTrackedServiceReference); + } - return trackedService; + @Override + public boolean isStaticLifecycle() { + return true; } }