Use constructor injection in OSGiClusterAdmin 56/103056/3
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 3 Nov 2022 10:04:34 +0000 (11:04 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 3 Nov 2022 10:25:30 +0000 (11:25 +0100)
Remove @Beta and inject services directly into RPC service.

Change-Id: I6d836c84099f17945d0e1e6af8a38e8dbd03f123
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
opendaylight/md-sal/sal-cluster-admin-impl/src/main/java/org/opendaylight/controller/cluster/datastore/admin/OSGiClusterAdmin.java

index 82a669e166a3781d59528be9ed2150a657cab2db..c0218244f1581a6c2ecb9c697816ac594f1caacd 100644 (file)
@@ -7,13 +7,12 @@
  */
 package org.opendaylight.controller.cluster.datastore.admin;
 
-import com.google.common.annotations.Beta;
 import org.opendaylight.controller.cluster.datastore.DistributedDataStoreInterface;
 import org.opendaylight.controller.eos.akka.DataCenterControl;
 import org.opendaylight.mdsal.binding.api.RpcProviderService;
 import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.cluster.admin.rev151013.ClusterAdminService;
-import org.opendaylight.yangtools.concepts.ObjectRegistration;
+import org.opendaylight.yangtools.concepts.Registration;
 import org.osgi.service.component.annotations.Activate;
 import org.osgi.service.component.annotations.Component;
 import org.osgi.service.component.annotations.Deactivate;
@@ -21,26 +20,20 @@ import org.osgi.service.component.annotations.Reference;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@Beta
-@Component(immediate = true)
+@Component(service = { })
 public final class OSGiClusterAdmin {
     private static final Logger LOG = LoggerFactory.getLogger(OSGiClusterAdmin.class);
 
-    @Reference(target = "(type=distributed-config)")
-    DistributedDataStoreInterface configDatastore = null;
-    @Reference(target = "(type=distributed-operational)")
-    DistributedDataStoreInterface operDatastore = null;
-    @Reference
-    BindingNormalizedNodeSerializer serializer = null;
-    @Reference
-    RpcProviderService rpcProviderService = null;
-    @Reference
-    DataCenterControl dataCenterControl = null;
-
-    private ObjectRegistration<?> reg;
+    private final Registration reg;
 
     @Activate
-    void activate() {
+    public OSGiClusterAdmin(
+            @Reference(target = "(type=distributed-config)") final DistributedDataStoreInterface configDatastore,
+            @Reference(target = "(type=distributed-operational)") final DistributedDataStoreInterface operDatastore,
+            @Reference final BindingNormalizedNodeSerializer serializer,
+            @Reference final RpcProviderService rpcProviderService,
+            @Reference final DataCenterControl dataCenterControls,
+            @Reference final DataCenterControl dataCenterControl) {
         reg = rpcProviderService.registerRpcImplementation(ClusterAdminService.class,
             new ClusterAdminRpcService(configDatastore, operDatastore, serializer, dataCenterControl));
         LOG.info("Cluster Admin services started");