import static java.util.Objects.requireNonNull;
import com.google.common.annotations.VisibleForTesting;
+import java.io.IOException;
import java.util.List;
import java.util.stream.Collectors;
import javax.inject.Inject;
import org.opendaylight.mdsal.dom.api.DOMSchemaService;
import org.opendaylight.restconf.openapi.api.OpenApiService;
import org.opendaylight.restconf.openapi.model.MountPointInstance;
-import org.opendaylight.restconf.openapi.model.OpenApiObject;
import org.opendaylight.restconf.openapi.mountpoints.MountPointOpenApi;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
}
@Override
- public Response getAllModulesDoc(final UriInfo uriInfo) {
- final DefinitionNames definitionNames = new DefinitionNames();
- final OpenApiObject doc = openApiGeneratorRFC8040.getControllerModulesDoc(uriInfo, definitionNames);
- return Response.ok(doc).build();
+ public Response getAllModulesDoc(final UriInfo uriInfo) throws IOException {
+ final OpenApiInputStream stream = openApiGeneratorRFC8040.getControllerModulesDoc(uriInfo);
+ return Response.ok(stream).build();
}
/**
* Generates Swagger compliant document listing APIs for module.
*/
@Override
- public Response getDocByModule(final String module, final String revision, final UriInfo uriInfo) {
- return Response.ok(
- openApiGeneratorRFC8040.getApiDeclaration(module, revision, uriInfo))
- .build();
+ public Response getDocByModule(final String module, final String revision, final UriInfo uriInfo)
+ throws IOException {
+ final OpenApiInputStream stream = openApiGeneratorRFC8040.getApiDeclaration(module, revision, uriInfo);
+ return Response.ok(stream).build();
}
/**
@Override
public Response getMountDocByModule(final String instanceNum, final String module,
- final String revision, final UriInfo uriInfo) {
- final OpenApiObject api = mountPointOpenApiRFC8040.getMountPointApi(uriInfo, Long.parseLong(instanceNum),
- module, revision);
- return Response.ok(api).build();
+ final String revision, final UriInfo uriInfo) throws IOException {
+ final OpenApiInputStream stream =
+ mountPointOpenApiRFC8040.getMountPointApi(uriInfo, Long.parseLong(instanceNum), module, revision);
+ return Response.ok(stream).build();
}
@Override
- public Response getMountDoc(final String instanceNum, final UriInfo uriInfo) {
+ public Response getMountDoc(final String instanceNum, final UriInfo uriInfo) throws IOException {
final String stringPageNum = uriInfo.getQueryParameters().getFirst(PAGE_NUM);
- final OpenApiObject api = mountPointOpenApiRFC8040.getMountPointApi(uriInfo,
- Long.parseLong(instanceNum), stringPageNum);
- return Response.ok(api).build();
+ final OpenApiInputStream stream =
+ mountPointOpenApiRFC8040.getMountPointApi(uriInfo, Long.parseLong(instanceNum), stringPageNum);
+ return Response.ok(stream).build();
}
}