Update constructors, remove Optional, add non-null 35/106235/12
authorŠimon Ukuš <simon.ukus@pantheon.tech>
Tue, 30 May 2023 06:36:31 +0000 (08:36 +0200)
committerRobert Varga <nite@hq.sk>
Wed, 5 Jul 2023 18:38:39 +0000 (18:38 +0000)
It is not advised to use Optional in constructors.
Remove Optionals with DOMSchemaService in constructors.

Add non-null annotations with requireNonNull check to avoid NPE,
since DOMSchemaService is being used.
The same applies to custom basePath

JIRA: NETCONF-998
Change-Id: I2b02be7438355b5ca0e75a3dc54bb7e5f2a675ab
Signed-off-by: Šimon Ukuš <simon.ukus@pantheon.tech>
restconf/restconf-openapi/src/main/java/org/opendaylight/restconf/openapi/impl/BaseYangOpenApiGenerator.java
restconf/restconf-openapi/src/main/java/org/opendaylight/restconf/openapi/impl/BaseYangOpenApiGeneratorRFC8040.java
restconf/restconf-openapi/src/main/java/org/opendaylight/restconf/openapi/impl/MountPointOpenApiGeneratorRFC8040.java
restconf/restconf-openapi/src/main/java/org/opendaylight/restconf/openapi/impl/OpenApiGeneratorRFC8040.java

index 91b50af3d8ca237d9ef272b4a13d2a9f639847d7..16e0d3254863029ff5d6eb0d1690b887d4b5fc88 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.restconf.openapi.impl;
 
+import static java.util.Objects.requireNonNull;
 import static org.opendaylight.restconf.openapi.model.builder.OperationBuilder.TOP;
 import static org.opendaylight.restconf.openapi.model.builder.OperationBuilder.buildDelete;
 import static org.opendaylight.restconf.openapi.model.builder.OperationBuilder.buildGet;
@@ -37,6 +38,7 @@ import java.util.Set;
 import java.util.SortedSet;
 import java.util.TreeSet;
 import javax.ws.rs.core.UriInfo;
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 import org.opendaylight.restconf.openapi.model.Components;
 import org.opendaylight.restconf.openapi.model.Info;
@@ -81,8 +83,8 @@ public abstract class BaseYangOpenApiGenerator {
     private static final ArrayNode SECURITY = JsonNodeFactory.instance.arrayNode()
             .add(JsonNodeFactory.instance.objectNode().set("basicAuth", JsonNodeFactory.instance.arrayNode()));
 
-    protected BaseYangOpenApiGenerator(final Optional<DOMSchemaService> schemaService) {
-        this.schemaService = schemaService.orElse(null);
+    protected BaseYangOpenApiGenerator(final @NonNull DOMSchemaService schemaService) {
+        this.schemaService = requireNonNull(schemaService);
     }
 
     public OpenApiObject getAllModulesDoc(final UriInfo uriInfo, final DefinitionNames definitionNames) {
index 227507319c4d0d92de26d227bc454e3355d9d2c1..93c137320d0846ec6767b7cb348f82021c286c18 100644 (file)
@@ -9,7 +9,7 @@ package org.opendaylight.restconf.openapi.impl;
 
 import static java.util.Objects.requireNonNull;
 
-import java.util.Optional;
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 
 /**
@@ -20,11 +20,12 @@ import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 public abstract class BaseYangOpenApiGeneratorRFC8040 extends BaseYangOpenApiGenerator {
     private final String basePath;
 
-    protected BaseYangOpenApiGeneratorRFC8040(final Optional<DOMSchemaService> schemaService) {
+    protected BaseYangOpenApiGeneratorRFC8040(final @NonNull DOMSchemaService schemaService) {
         this(schemaService, "rests");
     }
 
-    protected BaseYangOpenApiGeneratorRFC8040(final Optional<DOMSchemaService> schemaService, final String basePath) {
+    protected BaseYangOpenApiGeneratorRFC8040(final @NonNull DOMSchemaService schemaService,
+            final @NonNull String basePath) {
         super(schemaService);
         this.basePath = requireNonNull(basePath);
     }
index 65d50dfde3f03aee158c31a4ebbf474cd6290418..03f9e6c96133d3d9bc1665ae5584f885e8d9e460 100644 (file)
@@ -7,7 +7,7 @@
  */
 package org.opendaylight.restconf.openapi.impl;
 
-import java.util.Optional;
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.mdsal.dom.api.DOMMountPointService;
 import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 import org.opendaylight.restconf.openapi.mountpoints.MountPointOpenApi;
@@ -20,16 +20,16 @@ import org.opendaylight.restconf.openapi.mountpoints.MountPointOpenApi;
 public class MountPointOpenApiGeneratorRFC8040 extends BaseYangOpenApiGeneratorRFC8040 implements AutoCloseable {
     private final MountPointOpenApi mountPointOpenApi;
 
-    public MountPointOpenApiGeneratorRFC8040(final DOMSchemaService schemaService,
-            final DOMMountPointService mountService) {
-        super(Optional.of(schemaService));
+    public MountPointOpenApiGeneratorRFC8040(final @NonNull DOMSchemaService schemaService,
+            final @NonNull DOMMountPointService mountService) {
+        super(schemaService);
         mountPointOpenApi = new MountPointOpenApi(schemaService, mountService, this);
         mountPointOpenApi.init();
     }
 
-    public MountPointOpenApiGeneratorRFC8040(final DOMSchemaService schemaService,
-            final DOMMountPointService mountService, final String basePath) {
-        super(Optional.of(schemaService), basePath);
+    public MountPointOpenApiGeneratorRFC8040(final @NonNull DOMSchemaService schemaService,
+            final @NonNull DOMMountPointService mountService, final @NonNull String basePath) {
+        super(schemaService, basePath);
         mountPointOpenApi = new MountPointOpenApi(schemaService, mountService, this);
         mountPointOpenApi.init();
     }
index d6acb6bcb5f46d380a4caf5fa47b475714d58766..70af502672d15d82e54d4d8020ec562b058c2ec6 100644 (file)
@@ -7,7 +7,7 @@
  */
 package org.opendaylight.restconf.openapi.impl;
 
-import java.util.Optional;
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 
 /**
@@ -17,11 +17,11 @@ import org.opendaylight.mdsal.dom.api.DOMSchemaService;
  * @author Thomas Pantelis
  */
 public class OpenApiGeneratorRFC8040 extends BaseYangOpenApiGeneratorRFC8040 {
-    public OpenApiGeneratorRFC8040(final DOMSchemaService schemaService) {
-        super(Optional.of(schemaService));
+    public OpenApiGeneratorRFC8040(final @NonNull DOMSchemaService schemaService) {
+        super(schemaService);
     }
 
-    public OpenApiGeneratorRFC8040(final DOMSchemaService schemaService, final String basePath) {
-        super(Optional.of(schemaService), basePath);
+    public OpenApiGeneratorRFC8040(final @NonNull DOMSchemaService schemaService, final @NonNull String basePath) {
+        super(schemaService, basePath);
     }
 }