Inline constants in CallHomeAuthProviderImpl 78/104278/6
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 6 Feb 2023 16:16:16 +0000 (17:16 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 7 Feb 2023 09:44:27 +0000 (10:44 +0100)
We are using constants only during initialization, just pass them
as arguments.

Change-Id: Id1ada2d05c41a46e9f1823b2d9a16db3df6d2689
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
apps/callhome-provider/src/main/java/org/opendaylight/netconf/callhome/mount/CallHomeAuthProviderImpl.java

index c9230201937bea4c538c82a1f6eb3051635b5e73..b5e0b1b50dbed7b344ba195fa549df5f36345286 100644 (file)
@@ -16,6 +16,7 @@ import java.security.PublicKey;
 import java.util.Collection;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.mdsal.binding.api.DataObjectModification;
 import org.opendaylight.mdsal.binding.api.DataObjectModification.ModificationType;
@@ -41,23 +42,11 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class CallHomeAuthProviderImpl implements CallHomeAuthorizationProvider, AutoCloseable {
-
     private static final Logger LOG = LoggerFactory.getLogger(CallHomeAuthProviderImpl.class);
-    private static final InstanceIdentifier<Global> GLOBAL_PATH =
-            InstanceIdentifier.create(NetconfCallhomeServer.class).child(Global.class);
-    private static final DataTreeIdentifier<Global> GLOBAL =
-            DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION, GLOBAL_PATH);
 
-    private static final InstanceIdentifier<Device> ALLOWED_DEVICES_PATH =
-            InstanceIdentifier.create(NetconfCallhomeServer.class).child(AllowedDevices.class).child(Device.class);
-    private static final DataTreeIdentifier<Device> ALLOWED_DEVICES =
-            DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION, ALLOWED_DEVICES_PATH);
-    private static final DataTreeIdentifier<Device> ALLOWED_OP_DEVICES =
-            DataTreeIdentifier.create(LogicalDatastoreType.OPERATIONAL, ALLOWED_DEVICES_PATH);
-
-    private final GlobalConfig globalConfig = new GlobalConfig();
-    private final DeviceConfig deviceConfig = new DeviceConfig();
-    private final DeviceOp deviceOp = new DeviceOp();
+    private final @NonNull GlobalConfig globalConfig = new GlobalConfig();
+    private final @NonNull DeviceConfig deviceConfig = new DeviceConfig();
+    private final @NonNull DeviceOp deviceOp = new DeviceOp();
     private final ListenerRegistration<GlobalConfig> configReg;
     private final ListenerRegistration<DeviceConfig> deviceReg;
     private final ListenerRegistration<DeviceOp> deviceOpReg;
@@ -65,9 +54,20 @@ public class CallHomeAuthProviderImpl implements CallHomeAuthorizationProvider,
     private final CallhomeStatusReporter statusReporter;
 
     CallHomeAuthProviderImpl(final DataBroker broker) {
-        configReg = broker.registerDataTreeChangeListener(GLOBAL, globalConfig);
-        deviceReg = broker.registerDataTreeChangeListener(ALLOWED_DEVICES, deviceConfig);
-        deviceOpReg = broker.registerDataTreeChangeListener(ALLOWED_OP_DEVICES, deviceOp);
+        configReg = broker.registerDataTreeChangeListener(
+            DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION,
+                InstanceIdentifier.create(NetconfCallhomeServer.class).child(Global.class)),
+            globalConfig);
+
+        final var allowedDeviceWildcard =
+            InstanceIdentifier.create(NetconfCallhomeServer.class).child(AllowedDevices.class).child(Device.class);
+
+        deviceReg = broker.registerDataTreeChangeListener(
+            DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION, allowedDeviceWildcard),
+            deviceConfig);
+        deviceOpReg = broker.registerDataTreeChangeListener(
+            DataTreeIdentifier.create(LogicalDatastoreType.OPERATIONAL, allowedDeviceWildcard),
+            deviceOp);
         statusReporter = new CallhomeStatusReporter(broker);
     }
 
@@ -124,19 +124,12 @@ public class CallHomeAuthProviderImpl implements CallHomeAuthorizationProvider,
     }
 
     private String fromRemoteAddress(final SocketAddress remoteAddress) {
-        if (remoteAddress instanceof InetSocketAddress) {
-            InetSocketAddress socketAddress = (InetSocketAddress) remoteAddress;
-            String ip = socketAddress.getAddress().getHostAddress();
-
-            final MountPointNamingStrategy strat = globalConfig.getMountPointNamingStrategy();
-            switch (strat) {
-                case IPONLY:
-                    return ip;
-                case IPPORT:
-                    return ip + ":" + socketAddress.getPort();
-                default:
-                    throw new IllegalStateException("Unhandled naming strategy " + strat);
-            }
+        if (remoteAddress instanceof InetSocketAddress socketAddress) {
+            final var hostAddress = socketAddress.getAddress().getHostAddress();
+            return switch (globalConfig.getMountPointNamingStrategy()) {
+                case IPONLY -> hostAddress;
+                case IPPORT -> hostAddress + ":" + socketAddress.getPort();
+            };
         }
         return remoteAddress.toString();
     }
@@ -279,7 +272,7 @@ public class CallHomeAuthProviderImpl implements CallHomeAuthorizationProvider,
             return local != null ? local.getCredentials() : null;
         }
 
-        MountPointNamingStrategy getMountPointNamingStrategy() {
+        @NonNull MountPointNamingStrategy getMountPointNamingStrategy() {
             final Global local = current;
             final MountPointNamingStrategy strat = local != null ? local.getMountPointNamingStrategy() : null;
             return strat == null ? MountPointNamingStrategy.IPPORT : strat;