Use switch expressions in QueryParams 24/103924/1
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 4 Jan 2023 20:51:35 +0000 (21:51 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 4 Jan 2023 20:52:00 +0000 (21:52 +0100)
This is a tad more expressive.

Change-Id: I52a42c01227228823516021586da07d472f9f8ff
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/databind/jaxrs/QueryParams.java

index 94789a91db0f9d84b7b7e5ad25e0674eb12f3085..8e347442307048d93719c7cbef466ca2565917c3 100644 (file)
@@ -161,19 +161,20 @@ public final class QueryParams {
                     case WithDefaultsParam.uriName:
                         final var defaultsVal = optionalParam(WithDefaultsParam::forUriValue, paramName, paramValues);
                         if (defaultsVal != null) {
-                            switch (defaultsVal) {
-                                case REPORT_ALL:
+                            tagged = switch (defaultsVal) {
+                                case REPORT_ALL -> {
                                     withDefaults = null;
-                                    tagged = false;
-                                    break;
-                                case REPORT_ALL_TAGGED:
+                                    yield false;
+                                }
+                                case REPORT_ALL_TAGGED -> {
                                     withDefaults = null;
-                                    tagged = true;
-                                    break;
-                                default:
+                                    yield true;
+                                }
+                                default -> {
                                     withDefaults = defaultsVal;
-                                    tagged = false;
-                            }
+                                    yield false;
+                                }
+                            };
                         }
                         break;
                     case PrettyPrintParam.uriName:
@@ -233,15 +234,13 @@ public final class QueryParams {
 
     @VisibleForTesting
     static @Nullable String optionalParam(final String name, final List<String> values) {
-        switch (values.size()) {
-            case 0:
-                return null;
-            case 1:
-                return requireNonNull(values.get(0));
-            default:
-                throw new RestconfDocumentedException("Parameter " + name + " can appear at most once in request URI",
-                    ErrorType.PROTOCOL, ErrorTag.INVALID_VALUE);
-        }
+        return switch (values.size()) {
+            case 0 -> null;
+            case 1 -> requireNonNull(values.get(0));
+            default -> throw new RestconfDocumentedException(
+                "Parameter " + name + " can appear at most once in request URI",
+                ErrorType.PROTOCOL, ErrorTag.INVALID_VALUE);
+        };
     }
 
     private static <T> @Nullable T optionalParam(final Function<String, @NonNull T> factory, final String name,