public OpenApiObject getAllModulesDoc(final UriInfo uriInfo, final DefinitionNames definitionNames) {
final EffectiveModelContext schemaContext = schemaService.getGlobalContext();
Preconditions.checkState(schemaContext != null);
- return getAllModulesDoc(uriInfo, schemaContext, Optional.empty(), "", definitionNames).build();
+ return getAllModulesDoc(uriInfo, schemaContext, "Controller", "", definitionNames).build();
}
public OpenApiObject.Builder getAllModulesDoc(final UriInfo uriInfo, final EffectiveModelContext schemaContext,
- final Optional<String> deviceName, final String context, final DefinitionNames definitionNames) {
+ final @NonNull String deviceName, final String context, final DefinitionNames definitionNames) {
final String schema = createSchemaFromUriInfo(uriInfo);
final String host = createHostFromUriInfo(uriInfo);
- String name = "Controller";
- if (deviceName.isPresent()) {
- name = deviceName.orElseThrow();
- }
+ final String title = deviceName + " modules of RESTCONF";
- final String title = name + " modules of RESTCONF";
final OpenApiObject.Builder docBuilder = createOpenApiObjectBuilder(schema, host, BASE_PATH, title);
docBuilder.paths(new HashMap<>());
}
public OpenApiObject.Builder getAllModulesDoc(final UriInfo uriInfo, final Range<Integer> range,
- final EffectiveModelContext schemaContext, final Optional<String> deviceName, final String context,
+ final EffectiveModelContext schemaContext, final @NonNull String deviceName, final String context,
final DefinitionNames definitionNames) {
final String schema = createSchemaFromUriInfo(uriInfo);
final String host = createHostFromUriInfo(uriInfo);
- String name = "Controller";
- if (deviceName.isPresent()) {
- name = deviceName.orElseThrow();
- }
+ final String title = deviceName + " modules of RESTCONF";
- final String title = name + " modules of RESTCONF";
final OpenApiObject.Builder docBuilder = createOpenApiObjectBuilder(schema, host, BASE_PATH, title);
docBuilder.paths(new HashMap<>());
return docBuilder;
}
- public void fillDoc(final OpenApiObject.Builder docBuilder, final Set<Module> modules,
- final EffectiveModelContext schemaContext, final String context, final Optional<String> deviceName,
+ private void fillDoc(final OpenApiObject.Builder docBuilder, final Set<Module> modules,
+ final EffectiveModelContext schemaContext, final String context, final String deviceName,
final DefinitionNames definitionNames) {
for (final Module module : modules) {
final String revisionString = module.getQNameModule().getRevision().map(Revision::toString).orElse(null);
final String basePath, final String context, final EffectiveModelContext schemaContext) {
final OpenApiObject.Builder docBuilder = createOpenApiObjectBuilder(schema, host, basePath, module.getName());
final DefinitionNames definitionNames = new DefinitionNames();
- return getOpenApiSpec(module, context, Optional.empty(), schemaContext, definitionNames, docBuilder, true);
+ return getOpenApiSpec(module, context, null, schemaContext, definitionNames, docBuilder, true);
}
- public OpenApiObject getOpenApiSpec(final Module module, final String context, final Optional<String> deviceName,
+ private OpenApiObject getOpenApiSpec(final Module module, final String context, final String deviceName,
final EffectiveModelContext schemaContext, final DefinitionNames definitionNames,
final OpenApiObject.Builder docBuilder, final boolean isForSingleModule) {
try {
return docBuilder.build();
}
- private static void addRootPostLink(final Module module, final Optional<String> deviceName,
+ private static void addRootPostLink(final Module module, final String deviceName,
final ArrayNode pathParams, final String resourcePath, final Map<String, Path> paths) {
if (containsListOrContainer(module.getChildNodes())) {
final String moduleName = module.getName();
public abstract String getResourcePath(String resourceType, String context);
- private void addPaths(final DataSchemaNode node, final Optional<String> deviceName, final String moduleName,
+ private void addPaths(final DataSchemaNode node, final String deviceName, final String moduleName,
final Map<String, Path> paths, final ArrayNode parentPathParams, final EffectiveModelContext schemaContext,
final boolean isConfig, final String parentName, final DefinitionNames definitionNames,
final String resourcePathPart, final String context) {
}
private static Path operations(final DataSchemaNode node, final String moduleName,
- final Optional<String> deviceName, final ArrayNode pathParams, final boolean isConfig,
+ final String deviceName, final ArrayNode pathParams, final boolean isConfig,
final String parentName, final DefinitionNames definitionNames) {
final Path.Builder operationsBuilder = new Path.Builder();
}
private static void addOperations(final OperationDefinition operDef, final String moduleName,
- final Optional<String> deviceName, final Map<String, Path> paths, final String parentName,
+ final String deviceName, final Map<String, Path> paths, final String parentName,
final DefinitionNames definitionNames, final String resourcePath, final ArrayNode parentPathParams) {
final var pathBuilder = new Path.Builder();
pathBuilder.post(buildPostOperation(operDef, moduleName, deviceName, parentName, definitionNames,
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.restconf.openapi.impl.DefinitionNames;
import org.opendaylight.restconf.openapi.model.Operation;
import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
}
public static Operation buildPost(final String parentName, final String nodeName, final String discriminator,
- final String moduleName, final Optional<String> deviceName, final String description,
+ final String moduleName, final @Nullable String deviceName, final String description,
final ArrayNode pathParams) {
final var summary = buildSummaryValue(HttpMethod.POST, moduleName, deviceName, nodeName);
final ArrayNode tags = buildTagsValue(deviceName, moduleName);
}
public static Operation buildGet(final DataSchemaNode node, final String moduleName,
- final Optional<String> deviceName, final ArrayNode pathParams, final String defName,
+ final @Nullable String deviceName, final ArrayNode pathParams, final String defName,
final String defNameTop, final boolean isConfig) {
final String description = node.getDescription().orElse("");
final String summary = buildSummaryValue(HttpMethod.GET, moduleName, deviceName,
}
public static Operation buildPut(final String parentName, final String nodeName, final String discriminator,
- final String moduleName, final Optional<String> deviceName, final String description,
+ final String moduleName, final @Nullable String deviceName, final String description,
final ArrayNode pathParams) {
final String summary = buildSummaryValue(HttpMethod.PUT, moduleName, deviceName, nodeName);
final ArrayNode tags = buildTagsValue(deviceName, moduleName);
}
public static Operation buildPatch(final String parentName, final String nodeName, final String moduleName,
- final Optional<String> deviceName, final String description, final ArrayNode pathParams) {
+ final @Nullable String deviceName, final String description, final ArrayNode pathParams) {
final String summary = buildSummaryValue(HttpMethod.PATCH, moduleName, deviceName, nodeName);
final ArrayNode tags = buildTagsValue(deviceName, moduleName);
final ArrayNode parameters = JsonNodeFactory.instance.arrayNode().addAll(pathParams);
}
public static Operation buildDelete(final DataSchemaNode node, final String moduleName,
- final Optional<String> deviceName, final ArrayNode pathParams) {
+ final @Nullable String deviceName, final ArrayNode pathParams) {
final String summary = buildSummaryValue(HttpMethod.DELETE, moduleName, deviceName,
node.getQName().getLocalName());
final ArrayNode tags = buildTagsValue(deviceName, moduleName);
}
public static Operation buildPostOperation(final OperationDefinition operDef, final String moduleName,
- final Optional<String> deviceName, final String parentName, final DefinitionNames definitionNames,
+ final @Nullable String deviceName, final String parentName, final DefinitionNames definitionNames,
final ArrayNode parentPathParameters) {
final ArrayNode parameters = JsonNodeFactory.instance.arrayNode().addAll(parentPathParameters);
final String operationName = operDef.getQName().getLocalName();
}
private static String buildSummaryValue(final String httpMethod, final String moduleName,
- final Optional<String> deviceName, final String nodeName) {
- return httpMethod + SUMMARY_SEPARATOR + deviceName.map(s -> s + SUMMARY_SEPARATOR).orElse("")
+ final String deviceName, final String nodeName) {
+ // FIXME eliminate this method
+ if (deviceName == null) {
+ return httpMethod + SUMMARY_SEPARATOR + moduleName + SUMMARY_SEPARATOR + nodeName;
+ }
+ return httpMethod + SUMMARY_SEPARATOR + deviceName + SUMMARY_SEPARATOR
+ moduleName + SUMMARY_SEPARATOR + nodeName;
}
- public static ArrayNode buildTagsValue(final Optional<String> deviceName, final String moduleName) {
- final ArrayNode tagsValue = JsonNodeFactory.instance.arrayNode();
- tagsValue.add(deviceName.map(s -> "mounted " + s).orElse("controller") + " " + moduleName);
- return tagsValue;
+ public static ArrayNode buildTagsValue(final @Nullable String deviceName, final String moduleName) {
+ // FIXME eliminate this method
+ if (deviceName == null) {
+ return JsonNodeFactory.instance.arrayNode().add("controller" + " " + moduleName);
+ }
+ return JsonNodeFactory.instance.arrayNode().add("mounted " + deviceName + " " + moduleName);
}
public static ObjectNode getTypeParentNode(final ObjectNode parameter) {