WIP: Bump upstreams
[openflowplugin.git] / openflowplugin-impl / src / main / java / org / opendaylight / openflowplugin / impl / rpc / RpcContextImpl.java
index 93e26c052392412690b5da966d5e115c1005af49..2911a89b161f2a31e9f328b8424216d5cf12000f 100644 (file)
@@ -8,7 +8,6 @@
 package org.opendaylight.openflowplugin.impl.rpc;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Function;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Iterators;
 import com.google.common.util.concurrent.Futures;
@@ -19,8 +18,7 @@ import java.util.Map.Entry;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.Semaphore;
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.mdsal.binding.api.NotificationPublishService;
 import org.opendaylight.mdsal.binding.api.RpcProviderService;
 import org.opendaylight.mdsal.singleton.common.api.ServiceGroupIdentifier;
@@ -39,6 +37,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.N
 import org.opendaylight.yangtools.concepts.ObjectRegistration;
 import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
 import org.opendaylight.yangtools.yang.binding.RpcService;
+import org.opendaylight.yangtools.yang.common.Uint32;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -58,25 +57,26 @@ class RpcContextImpl implements RpcContext {
     private final ExtensionConverterProvider extensionConverterProvider;
     private final ConvertorExecutor convertorExecutor;
     private final NotificationPublishService notificationPublishService;
-    private ContextChainMastershipWatcher contextChainMastershipWatcher;
 
-    RpcContextImpl(@Nonnull final RpcProviderService rpcProviderRegistry,
+    private ContextChainMastershipWatcher contextChainMastershipWatcher = null;
+
+    RpcContextImpl(@NonNull final RpcProviderService rpcProviderRegistry,
                    final int maxRequests,
-                   @Nonnull final DeviceContext deviceContext,
-                   @Nonnull final ExtensionConverterProvider extensionConverterProvider,
-                   @Nonnull final ConvertorExecutor convertorExecutor,
-                   @Nonnull final NotificationPublishService notificationPublishService,
-                   boolean statisticsRpcEnabled) {
+                   @NonNull final DeviceContext deviceContext,
+                   @NonNull final ExtensionConverterProvider extensionConverterProvider,
+                   @NonNull final ConvertorExecutor convertorExecutor,
+                   @NonNull final NotificationPublishService notificationPublishService,
+                   final boolean statisticsRpcEnabled) {
         this.deviceContext = deviceContext;
-        this.deviceInfo = deviceContext.getDeviceInfo();
-        this.nodeInstanceIdentifier = deviceContext.getDeviceInfo().getNodeInstanceIdentifier();
-        this.messageSpy = deviceContext.getMessageSpy();
+        deviceInfo = deviceContext.getDeviceInfo();
+        nodeInstanceIdentifier = deviceContext.getDeviceInfo().getNodeInstanceIdentifier();
+        messageSpy = deviceContext.getMessageSpy();
         this.rpcProviderRegistry = rpcProviderRegistry;
         this.extensionConverterProvider = extensionConverterProvider;
         this.notificationPublishService = notificationPublishService;
         this.convertorExecutor = convertorExecutor;
-        this.isStatisticsRpcEnabled = statisticsRpcEnabled;
-        this.tracker = new Semaphore(maxRequests, true);
+        isStatisticsRpcEnabled = statisticsRpcEnabled;
+        tracker = new Semaphore(maxRequests, true);
     }
 
     @Override
@@ -130,7 +130,7 @@ class RpcContextImpl implements RpcContext {
                     nodeInstanceIdentifier.getKey().getId().getValue(), tracker.availablePermits());
         }
 
-        final Long xid = deviceInfo.reserveXidForDeviceMessage();
+        final Uint32 xid = deviceInfo.reserveXidForDeviceMessage();
         if (xid == null) {
             LOG.warn("Xid cannot be reserved for new RequestContext, node:{}",
                     nodeInstanceIdentifier.getKey().getId().getValue());
@@ -138,12 +138,11 @@ class RpcContextImpl implements RpcContext {
             return null;
         }
 
-        return new AbstractRequestContext<T>(xid) {
+        return new AbstractRequestContext<>(xid) {
             @Override
             public void close() {
                 tracker.release();
-                final long xid = getXid().getValue();
-                LOG.trace("Removed request context with xid {}", xid);
+                LOG.trace("Removed request context with xid {}", getXid().getValue());
                 messageSpy.spyMessage(RpcContextImpl.class, MessageSpy.StatisticsGroup.REQUEST_STACK_FREED);
             }
         };
@@ -163,28 +162,24 @@ class RpcContextImpl implements RpcContext {
 
     @VisibleForTesting
     boolean isEmptyRpcRegistrations() {
-        return this.rpcRegistrations.isEmpty();
+        return rpcRegistrations.isEmpty();
     }
 
     @Override
     public DeviceInfo getDeviceInfo() {
-        return this.deviceInfo;
+        return deviceInfo;
     }
 
     @Override
-    public void registerMastershipWatcher(@Nonnull final ContextChainMastershipWatcher newWatcher) {
-        this.contextChainMastershipWatcher = newWatcher;
+    public void registerMastershipWatcher(@NonNull final ContextChainMastershipWatcher newWatcher) {
+        contextChainMastershipWatcher = newWatcher;
     }
 
     @Override
     public ListenableFuture<Void> closeServiceInstance() {
-        return Futures.transform(Futures.immediateFuture(null), new Function<Void, Void>() {
-            @Nullable
-            @Override
-            public Void apply(@Nullable final Void input) {
-                unregisterRPCs();
-                return null;
-            }
+        return Futures.transform(Futures.immediateFuture(null), input -> {
+            unregisterRPCs();
+            return null;
         }, MoreExecutors.directExecutor());
     }
 
@@ -203,7 +198,7 @@ class RpcContextImpl implements RpcContext {
         contextChainMastershipWatcher.onMasterRoleAcquired(deviceInfo, ContextChainMastershipState.RPC_REGISTRATION);
     }
 
-    @Nonnull
+    @NonNull
     @Override
     public ServiceGroupIdentifier getIdentifier() {
         return deviceInfo.getServiceIdentifier();