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.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("yanglib").supportsSessions(true)
- .addServlet(ServletDetails.builder().servlet(servletSupport.createHttpServletBuilder(webApp).build())
- .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();
}
import static org.opendaylight.restconf.nb.rfc8040.rests.utils.RestconfStreamsConstants.NOTIFICATION_STREAM;
import static org.opendaylight.restconf.nb.rfc8040.utils.RestconfConstants.BASE_URI_PATTERN;
-import java.util.List;
import javax.annotation.PreDestroy;
import javax.inject.Inject;
import javax.inject.Singleton;
import org.opendaylight.aaa.web.FilterDetails;
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
*/
@Singleton
-public class WebInitializer {
+public final class WebInitializer implements AutoCloseable {
private final Registration registration;
@Inject
final DataStreamApplication webAppNotif,
final CustomFilterAdapterConfiguration customFilterAdapterConfig,
final WebSocketInitializer webSocketServlet) throws ServletException {
- WebContextBuilder webContextBuilder = WebContext.builder()
+ final var webContextBuilder = WebContext.builder()
.contextPath("/")
.supportsSessions(false)
.addServlet(ServletDetails.builder()
.asyncSupported(true)
.build())
.addServlet(ServletDetails.builder()
- .addAllUrlPatterns(List.of(
- "/" + BASE_URI_PATTERN + "/" + DATA_SUBSCRIPTION + "/*",
- "/" + BASE_URI_PATTERN + "/" + NOTIFICATION_STREAM + "/*"))
+ .addUrlPattern("/" + BASE_URI_PATTERN + "/" + DATA_SUBSCRIPTION + "/*")
+ .addUrlPattern("/" + BASE_URI_PATTERN + "/" + NOTIFICATION_STREAM + "/*")
.servlet(webSocketServlet)
.build())
.addServlet(ServletDetails.builder()
}
@PreDestroy
+ @Override
public void close() {
- if (registration != null) {
- registration.close();
- }
+ registration.close();
}
}