import org.opendaylight.aaa.web.ResourceDetails;
import org.opendaylight.aaa.web.ServletDetails;
import org.opendaylight.aaa.web.WebContext;
-import org.opendaylight.aaa.web.WebContextBuilder;
import org.opendaylight.aaa.web.WebContextSecurer;
import org.opendaylight.aaa.web.WebServer;
import org.opendaylight.aaa.web.servlet.ServletSupport;
*
* @author Thomas Pantelis
*/
-public class WebInitializer {
+public final class WebInitializer implements AutoCloseable {
private final Registration registration;
- public WebInitializer(WebServer webServer, WebContextSecurer webContextSecurer, ServletSupport servletSupport,
- Application webApp) throws ServletException {
- WebContextBuilder webContextBuilder = WebContext.builder().contextPath("apidoc").supportsSessions(true)
- .addServlet(ServletDetails.builder().servlet(servletSupport.createHttpServletBuilder(webApp).build())
- .addUrlPattern("/swagger2/apis/*").addUrlPattern("/openapi3/apis/*").build())
+ public WebInitializer(final WebServer webServer, final WebContextSecurer webContextSecurer,
+ final ServletSupport servletSupport, final Application webApp) throws ServletException {
+ var webContextBuilder = WebContext.builder()
+ .contextPath("apidoc")
+ .supportsSessions(true)
+ .addServlet(ServletDetails.builder()
+ .servlet(servletSupport.createHttpServletBuilder(webApp).build())
+ .addUrlPattern("/swagger2/apis/*")
+ .addUrlPattern("/openapi3/apis/*")
+ .build())
.addResource(ResourceDetails.builder().name("/explorer").build());
webContextSecurer.requireAuthentication(webContextBuilder, "/swagger2/*", "/openapi3/*");
registration = webServer.registerWebContext(webContextBuilder.build());
}
+ @Override
public void close() {
registration.close();
}