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);
}
}