diff --git a/xtraplatform-ops/src/main/java/de/ii/xtraplatform/ops/app/OpsPlugin.java b/xtraplatform-ops/src/main/java/de/ii/xtraplatform/ops/app/OpsPlugin.java index 5eab4507..e2f41e52 100644 --- a/xtraplatform-ops/src/main/java/de/ii/xtraplatform/ops/app/OpsPlugin.java +++ b/xtraplatform-ops/src/main/java/de/ii/xtraplatform/ops/app/OpsPlugin.java @@ -28,6 +28,7 @@ @Singleton @AutoBind +@SuppressWarnings("PMD.DataClass") public class OpsPlugin implements DropwizardPlugin { private final OpsRequestDispatcher opsRequestDispatcher; @@ -39,6 +40,7 @@ public class OpsPlugin implements DropwizardPlugin { } @Override + @SuppressWarnings("PMD.AvoidInstantiatingObjectsInLoops") public void init(AppConfiguration configuration, Environment environment) { ServletHandler servletHandler = environment.getAdminContext().getServletHandler(); ServletHolder[] holders = servletHandler.getServlets(); @@ -92,6 +94,7 @@ private static class OpsResourceConfig extends ResourceConfig { private String contextPath; public OpsResourceConfig() { + super(); this.urlPattern = "/*"; this.contextPath = "/"; diff --git a/xtraplatform-ops/src/main/java/de/ii/xtraplatform/ops/app/OpsRequestDispatcherImpl.java b/xtraplatform-ops/src/main/java/de/ii/xtraplatform/ops/app/OpsRequestDispatcherImpl.java index 49475d2d..d077f163 100644 --- a/xtraplatform-ops/src/main/java/de/ii/xtraplatform/ops/app/OpsRequestDispatcherImpl.java +++ b/xtraplatform-ops/src/main/java/de/ii/xtraplatform/ops/app/OpsRequestDispatcherImpl.java @@ -73,7 +73,6 @@ public class OpsRequestDispatcherImpl implements OpsRequestDispatcher { private final StaticResourceServlet staticServlet; private final Lazy> subEndpoints; private Servlet tasksServlet; - private final Reader reader; private final OpenAPI openAPI; @Inject @@ -95,7 +94,7 @@ public class OpsRequestDispatcherImpl implements OpsRequestDispatcher { ModelConverters.getInstance().addConverter(new CustomModelConverter()); - this.reader = new Reader(new OpenAPI()); + Reader reader = new Reader(new OpenAPI()); Set> endpointClasses = subEndpoints.get().stream().map(OpsEndpoint::getClass).collect(Collectors.toSet()); endpointClasses.add(this.getClass()); @@ -124,7 +123,7 @@ public void init(ServletConfig servletConfig, ServletHolder tasksServlet) { tasksServlet.initialize(); this.tasksServlet = tasksServlet.getServletInstance(); } catch (Exception e) { - throw new RuntimeException(e); + throw new IllegalStateException("Failed to initialize servlets", e); } } @@ -258,7 +257,7 @@ public static class Capability { schema = @Schema(implementation = HealthResponse.class))), @ApiResponse(responseCode = "500", description = "Internal server error") }) - public void getHealth(@Context HttpServletRequest request, @Context HttpServletResponse response) + public void health(@Context HttpServletRequest request, @Context HttpServletResponse response) throws ServletException, IOException { CorsFilter.addCorsHeaders(response); healthCheckServlet.service(request, response); @@ -316,7 +315,7 @@ public static class Timer { @ApiResponse(responseCode = "401", description = "Unauthorized"), @ApiResponse(responseCode = "500", description = "Internal server error") }) - public void getMetrics(@Context HttpServletRequest request, @Context HttpServletResponse response) + public void metrics(@Context HttpServletRequest request, @Context HttpServletResponse response) throws ServletException, IOException { CorsFilter.addCorsHeaders(response); metricsServlet.service(request, response); @@ -342,7 +341,7 @@ public enum PingResponse { schema = @Schema(implementation = PingResponse.class))), @ApiResponse(responseCode = "500", description = "Internal server error") }) - public void getPing(@Context HttpServletRequest request, @Context HttpServletResponse response) + public void ping(@Context HttpServletRequest request, @Context HttpServletResponse response) throws ServletException, IOException { CorsFilter.addCorsHeaders(response); pingServlet.service(request, response); @@ -365,7 +364,7 @@ public void getPing(@Context HttpServletRequest request, @Context HttpServletRes "\"dw-admin-105\" id=105 state=TIMED_WAITING - waiting on <0x04941bd8> (a java.util.concurrent.SynchronousQueue$Transferer) - locked <0x04941bd8> (a java.util.concurrent.SynchronousQueue$Transferer) at java.base@21.0.5/jdk.internal.misc.Unsafe.park(Native Method) at java.base@21.0.5/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:410) at java.base@21.0.5/java.util.concurrent.LinkedTransferQueue$DualNode.await(LinkedTransferQueue.java:452) at java.base@21.0.5/java.util.concurrent.SynchronousQueue$Transferer.xferLifo(SynchronousQueue.java:194) at java.base@21.0.5/java.util.concurrent.SynchronousQueue.xfer(SynchronousQueue.java:235) at java.base@21.0.5/java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:338) at app/de.ii.xtraplatform.runtime.tpl@6.3.0-SNAPSHOT/org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.reservedWait(ReservedThreadExecutor.java:325) at app/de.ii.xtraplatform.runtime.tpl@6.3.0-SNAPSHOT/org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:401) at app/de.ii.xtraplatform.runtime.tpl@6.3.0-SNAPSHOT/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:969) at app/de.ii.xtraplatform.runtime.tpl@6.3.0-SNAPSHOT/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1194) at app/de.ii.xtraplatform.runtime.tpl@6.3.0-SNAPSHOT/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1149) at java.base@21.0.5/java.lang.Thread.runWith(Thread.java:1596) at java.base@21.0.5/java.lang.Thread.run(Thread.java:1583)"))), @ApiResponse(responseCode = "500", description = "Internal server error") }) - public void getThreads(@Context HttpServletRequest request, @Context HttpServletResponse response) + public void threads(@Context HttpServletRequest request, @Context HttpServletResponse response) throws ServletException, IOException { CorsFilter.addCorsHeaders(response); threadDumpServlet.service(request, response); @@ -422,7 +421,7 @@ public OpsEndpoint getOther(@PathParam("entrypoint") String entrypoint) { @GET @Path("/{path: .+\\.(?:html|js|css|json|woff2|txt)}") @Hidden - public void getFile( + public void file( @PathParam("path") String path, @Context HttpServletRequest request, @Context HttpServletResponse response) @@ -434,7 +433,7 @@ public void getFile( @GET @Path("/{path: .*}") @Hidden - public void getRoute( + public void route( @PathParam("path") String path, @Context HttpServletRequest request, @Context HttpServletResponse response)