Silence SCR errors
[bgpcep.git] / bgp / rib-spi / src / main / java / org / opendaylight / protocol / bgp / rib / spi / OSGiRIBExtensionConsumerContext.java
index 0a8ba5d7be14c6b49cb25df055936373d9e333f0..2a9393463b864a686d166dcd9a978d3f3e26408f 100644 (file)
@@ -18,19 +18,15 @@ import org.osgi.service.component.annotations.Reference;
 import org.osgi.service.component.annotations.ReferencePolicyOption;
 
 @Component(immediate = true, service = RIBExtensionConsumerContext.class)
-public final class OSGiRIBExtensionConsumerContext extends ForwardingRIBExtensionConsumerContext  {
-    @Reference(policyOption = ReferencePolicyOption.GREEDY)
-    List<RIBExtensionProviderActivator> extensionActivators;
-    @Reference
-    BindingNormalizedNodeSerializer mappingCodec;
-
-    private SimpleRIBExtensionProviderContext delegate = null;
+public final class OSGiRIBExtensionConsumerContext extends ForwardingRIBExtensionConsumerContext {
+    private SimpleRIBExtensionProviderContext delegate;
 
     @Activate
-    void activate() {
-        final SimpleRIBExtensionProviderContext local = new SimpleRIBExtensionProviderContext();
-        extensionActivators.forEach(activator -> activator.startRIBExtensionProvider(local, mappingCodec));
-        delegate = local;
+    public OSGiRIBExtensionConsumerContext(final @Reference BindingNormalizedNodeSerializer mappingCodec,
+            final @Reference(policyOption = ReferencePolicyOption.GREEDY)
+                List<RIBExtensionProviderActivator> extensionActivators) {
+        delegate = new SimpleRIBExtensionProviderContext();
+        extensionActivators.forEach(activator -> activator.startRIBExtensionProvider(delegate, mappingCodec));
     }
 
     @Deactivate
@@ -40,6 +36,6 @@ public final class OSGiRIBExtensionConsumerContext extends ForwardingRIBExtensio
 
     @Override
     RIBExtensionProviderContext delegate() {
-        return verifyNotNull(delegate);
+        return verifyNotNull(delegate, "Attempted to access deactived component");
     }
 }