import javax.ws.rs.core.Application;
import org.opendaylight.aaa.web.ServletDetails;
import org.opendaylight.aaa.web.WebContext;
-import org.opendaylight.aaa.web.WebContextBuilder;
-import org.opendaylight.aaa.web.WebContextRegistration;
import org.opendaylight.aaa.web.WebContextSecurer;
import org.opendaylight.aaa.web.WebServer;
+import org.opendaylight.aaa.web.servlet.ServletSupport;
+import org.opendaylight.yangtools.concepts.Registration;
/**
* Initializes the wep app.
*
* @author Thomas Pantelis
*/
-public class WebInitializer {
- private final WebContextRegistration registration;
+public final class WebInitializer implements AutoCloseable {
+ private final Registration registration;
- public WebInitializer(WebServer webServer, WebContextSecurer webContextSecurer, Application webApp)
- throws ServletException {
- WebContextBuilder webContextBuilder = WebContext.builder().contextPath("yanglib").supportsSessions(true)
- .addServlet(ServletDetails.builder().servlet(
- new com.sun.jersey.spi.container.servlet.ServletContainer(webApp))
- .addUrlPattern("/*").build());
+ public WebInitializer(final WebServer webServer, final WebContextSecurer webContextSecurer,
+ final ServletSupport servletSupport, final Application webApp) throws ServletException {
+ final var webContextBuilder = WebContext.builder().contextPath("/yanglib").supportsSessions(true)
+ .addServlet(ServletDetails.builder()
+ .servlet(servletSupport.createHttpServletBuilder(webApp).build())
+ .addUrlPattern("/*")
+ .build());
webContextSecurer.requireAuthentication(webContextBuilder, "/*");
registration = webServer.registerWebContext(webContextBuilder.build());
}
+ @Override
public void close() {
registration.close();
}