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>
*/
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;
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;
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) {
import static java.util.Objects.requireNonNull;
-import java.util.Optional;
+import org.eclipse.jdt.annotation.NonNull;
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);
}
*/
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;
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();
}
*/
package org.opendaylight.restconf.openapi.impl;
-import java.util.Optional;
+import org.eclipse.jdt.annotation.NonNull;
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);
}
}