Clean up WebInitializers 00/103600/2
authorRobert Varga <[email protected]>
Mon, 5 Dec 2022 17:18:28 +0000 (18:18 +0100)
committerRobert Varga <[email protected]>
Mon, 5 Dec 2022 17:32:21 +0000 (18:32 +0100)
Use local variable type inference to disconnect from WebContextBuilder,
which is going to be renamed. Implement AutoCloseable to make it clear
these should be closed at some point. Finally do not instantiate a
temporary list for adding URL patterns.

Change-Id: I5950e921ff500608ba2aa682fd6faf71bddaf429
Signed-off-by: Robert Varga <[email protected]>
netconf/yanglib/src/main/java/org/opendaylight/yanglib/impl/WebInitializer.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/web/WebInitializer.java

index de50df1f6d999d51e66cb23258b78bc8e09aa335..faac6543d31932610a2444c3ca6209614d18dd37 100644 (file)
@@ -11,7 +11,6 @@ import javax.servlet.ServletException;
 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;
@@ -22,20 +21,23 @@ import org.opendaylight.yangtools.concepts.Registration;
  *
  * @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();
     }
index e37551564600270706acb71fdab20371bed36670..2e0ae63acbddd2259978c7389b137f8bdca96d0f 100644 (file)
@@ -11,7 +11,6 @@ import static org.opendaylight.restconf.nb.rfc8040.rests.utils.RestconfStreamsCo
 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;
@@ -21,7 +20,6 @@ import org.opendaylight.aaa.filterchain.filters.CustomFilterAdapter;
 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;
@@ -37,7 +35,7 @@ import org.opendaylight.yangtools.concepts.Registration;
  * @author Thomas Pantelis
  */
 @Singleton
-public class WebInitializer {
+public final class WebInitializer implements AutoCloseable {
     private final Registration registration;
 
     @Inject
@@ -46,7 +44,7 @@ public class WebInitializer {
             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()
@@ -61,9 +59,8 @@ public class WebInitializer {
                 .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()
@@ -85,9 +82,8 @@ public class WebInitializer {
     }
 
     @PreDestroy
+    @Override
     public void close() {
-        if (registration != null) {
-            registration.close();
-        }
+        registration.close();
     }
 }