From 6f147523aaa64c722d67209a7bccb32401ebc8d0 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Thu, 30 Apr 2026 23:49:57 +0000 Subject: [PATCH] Upgrade Dropwizard 1.0.5 to 4.0.14, Java 6 to 17, all Maven plugins, add OWASP Workstream 1: Dropwizard 1.0.5 -> 4.0.14 - Import dropwizard-dependencies and dropwizard-bom BOMs - Migrate io.dropwizard.* to io.dropwizard.core.* (Application, Configuration, Bootstrap, Environment) - Migrate io.dropwizard.views.ViewBundle to io.dropwizard.views.common.ViewBundle - Migrate javax.* to jakarta.* (validation, persistence, ws.rs) - Fix @NotEmpty import from org.hibernate.validator to jakarta.validation - Fix DAO namedQuery() to namedTypedQuery() for Hibernate 6.x compatibility - Migrate JUnit 3 test to JUnit 5 (Jupiter) - H2 2.3.232 resolves CVE-2021-42392 and CVE-2022-23221 Workstream 2: Java compilation target 1.6 -> 17 - Replace source/target 1.6 with release 17 in maven-compiler-plugin - Add module-info.class exclusion in shade plugin Workstream 3: Upgrade all Maven plugins - maven-clean-plugin: 2.6.1 -> 3.5.0 - maven-install-plugin: 2.5.2 -> 3.1.4 - maven-surefire-plugin: 2.19.1 -> 3.5.5 - maven-resources-plugin: 2.7 -> 3.5.0 - maven-enforcer-plugin: 1.4.1 -> 3.6.2 - maven-compiler-plugin: 3.6.0 -> 3.15.0 - maven-source-plugin: 2.4 -> 3.4.0 - maven-jar-plugin: 2.6 -> 3.5.0 - maven-shade-plugin: 2.4.3 -> 3.6.2 - maven-deploy-plugin: 2.8.2 -> 3.1.4 - maven-site-plugin: 3.4 -> 3.21.0 Workstream 4: Add OWASP Dependency-Check Maven plugin - Add dependency-check-maven 12.1.3 - Configured to fail build on CVSS >= 7 Co-Authored-By: Wes Convery <2wconvery@gmail.com> --- pom.xml | 62 +++++++++++++------ .../employee/EmployeeApplication.java | 8 +-- .../employee/EmployeeConfiguration.java | 8 +-- .../dropwizard/employee/core/Employee.java | 16 ++--- .../dropwizard/employee/db/EmployeeDAO.java | 2 +- .../employee/resources/EmployeeResource.java | 19 ++---- .../java/com/dropwizard/employee/AppTest.java | 36 +++-------- 7 files changed, 73 insertions(+), 78 deletions(-) diff --git a/pom.xml b/pom.xml index 3688725..cc16ed9 100644 --- a/pom.xml +++ b/pom.xml @@ -4,12 +4,19 @@ com.dropwizard.employee DropwizardEmployee jar - 1.0.5 + 4.0.14 DropwizardEmployee http://maven.apache.org + + io.dropwizard + dropwizard-dependencies + ${project.version} + pom + import + io.dropwizard dropwizard-bom @@ -77,8 +84,8 @@ test - javax.servlet - javax.servlet-api + jakarta.servlet + jakarta.servlet-api junit @@ -92,8 +99,8 @@ test - javax.servlet - javax.servlet-api + jakarta.servlet + jakarta.servlet-api junit @@ -109,61 +116,80 @@ org.apache.maven.plugins maven-clean-plugin - 2.6.1 + 3.5.0 org.apache.maven.plugins maven-install-plugin - 2.5.2 + 3.1.4 org.apache.maven.plugins maven-surefire-plugin - 2.19.1 + 3.5.5 org.apache.maven.plugins maven-resources-plugin - 2.7 + 3.5.0 org.apache.maven.plugins maven-enforcer-plugin - 1.4.1 + 3.6.2 org.apache.maven.plugins maven-compiler-plugin - 3.6.0 + 3.15.0 org.apache.maven.plugins maven-source-plugin - 2.4 + 3.4.0 org.apache.maven.plugins maven-jar-plugin - 2.6 + 3.5.0 org.apache.maven.plugins maven-shade-plugin - 2.4.3 + 3.6.2 org.apache.maven.plugins maven-deploy-plugin - 2.8.2 + 3.1.4 org.apache.maven.plugins maven-site-plugin - 3.4 + 3.21.0 + + + org.owasp + dependency-check-maven + 12.1.3 + + org.owasp + dependency-check-maven + + 7 + + + + + check + + + + org.apache.maven.plugins maven-enforcer-plugin @@ -216,6 +242,7 @@ META-INF/*.SF META-INF/*.DSA META-INF/*.RSA + module-info.class @@ -239,8 +266,7 @@ org.apache.maven.plugins maven-compiler-plugin - 1.6 - 1.6 + 17 diff --git a/src/main/java/com/dropwizard/employee/EmployeeApplication.java b/src/main/java/com/dropwizard/employee/EmployeeApplication.java index 7630ceb..8208c2a 100644 --- a/src/main/java/com/dropwizard/employee/EmployeeApplication.java +++ b/src/main/java/com/dropwizard/employee/EmployeeApplication.java @@ -4,16 +4,16 @@ import com.dropwizard.employee.core.Template; import com.dropwizard.employee.db.EmployeeDAO; import com.dropwizard.employee.resources.EmployeeResource; -import io.dropwizard.Application; +import io.dropwizard.core.Application; import io.dropwizard.assets.AssetsBundle; import io.dropwizard.configuration.EnvironmentVariableSubstitutor; import io.dropwizard.configuration.SubstitutingSourceProvider; import io.dropwizard.db.DataSourceFactory; import io.dropwizard.hibernate.HibernateBundle; import io.dropwizard.migrations.MigrationsBundle; -import io.dropwizard.setup.Bootstrap; -import io.dropwizard.setup.Environment; -import io.dropwizard.views.ViewBundle; +import io.dropwizard.core.setup.Bootstrap; +import io.dropwizard.core.setup.Environment; +import io.dropwizard.views.common.ViewBundle; import java.util.Map; diff --git a/src/main/java/com/dropwizard/employee/EmployeeConfiguration.java b/src/main/java/com/dropwizard/employee/EmployeeConfiguration.java index 9a8e28f..f3cdfc6 100644 --- a/src/main/java/com/dropwizard/employee/EmployeeConfiguration.java +++ b/src/main/java/com/dropwizard/employee/EmployeeConfiguration.java @@ -1,13 +1,13 @@ package com.dropwizard.employee; import com.fasterxml.jackson.annotation.JsonProperty; -import io.dropwizard.Configuration; +import io.dropwizard.core.Configuration; import io.dropwizard.db.DataSourceFactory; -import org.hibernate.validator.constraints.NotEmpty; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; import com.dropwizard.employee.core.Template; -import javax.validation.Valid; -import javax.validation.constraints.NotNull; import java.util.Collections; import java.util.Map; diff --git a/src/main/java/com/dropwizard/employee/core/Employee.java b/src/main/java/com/dropwizard/employee/core/Employee.java index 79217b9..e50f28b 100644 --- a/src/main/java/com/dropwizard/employee/core/Employee.java +++ b/src/main/java/com/dropwizard/employee/core/Employee.java @@ -1,13 +1,13 @@ package com.dropwizard.employee.core; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.Table; import java.util.Objects; /** diff --git a/src/main/java/com/dropwizard/employee/db/EmployeeDAO.java b/src/main/java/com/dropwizard/employee/db/EmployeeDAO.java index 203bdc2..aacac90 100644 --- a/src/main/java/com/dropwizard/employee/db/EmployeeDAO.java +++ b/src/main/java/com/dropwizard/employee/db/EmployeeDAO.java @@ -22,6 +22,6 @@ public Employee create(Employee person) { } public List findAll() { - return list(namedQuery("com.dropwizard.employee.core.Employee.findAll")); + return list(namedTypedQuery("com.dropwizard.employee.core.Employee.findAll")); } } diff --git a/src/main/java/com/dropwizard/employee/resources/EmployeeResource.java b/src/main/java/com/dropwizard/employee/resources/EmployeeResource.java index 2ac19b9..efca3aa 100644 --- a/src/main/java/com/dropwizard/employee/resources/EmployeeResource.java +++ b/src/main/java/com/dropwizard/employee/resources/EmployeeResource.java @@ -4,11 +4,11 @@ import com.dropwizard.employee.db.EmployeeDAO; import io.dropwizard.hibernate.UnitOfWork; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; import java.util.List; /** @@ -30,15 +30,6 @@ public Employee createEmployee(Employee employee) { return employeeDAO.create(employee); } - // TODO: Add a view here! -// @GET -// @Path("/view_mustache") -// @UnitOfWork -// @Produces(MediaType.TEXT_HTML) -// public EmployeeView getPersonViewMustache(@PathParam("personId") LongParam personId) { -// return new EmployeeView(EmployeeView.Template.MUSTACHE, findSafely(personId.get())); -// } - @GET @UnitOfWork public List listEmployee() { diff --git a/src/test/java/com/dropwizard/employee/AppTest.java b/src/test/java/com/dropwizard/employee/AppTest.java index ac98328..2fc211a 100644 --- a/src/test/java/com/dropwizard/employee/AppTest.java +++ b/src/test/java/com/dropwizard/employee/AppTest.java @@ -1,38 +1,16 @@ package com.dropwizard.employee; -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertTrue; /** * Unit test for simple App. */ -public class AppTest - extends TestCase -{ - /** - * Create the test case - * - * @param testName name of the test case - */ - public AppTest( String testName ) - { - super( testName ); - } - - /** - * @return the suite of tests being tested - */ - public static Test suite() - { - return new TestSuite( AppTest.class ); - } +class AppTest { - /** - * Rigourous Test :-) - */ - public void testApp() - { - assertTrue( true ); + @Test + void testApp() { + assertTrue(true); } }