This is an automated email from the ASF dual-hosted git repository.
rmaucher pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/main by this push:
new 30f58c031f Avoid try with resources, since this messes up testing in
particular
30f58c031f is described below
commit 30f58c031f5730f497adeb407d40df20cce12058
Author: remm <[email protected]>
AuthorDate: Tue May 26 20:11:42 2026 +0200
Avoid try with resources, since this messes up testing in particular
Testing uses closeConnection as a noop. Also closeConnection does more
than simply close the connection (in theory).
Align the pattern of the other get iterations to use closeConnection,
for consistency.
---
.../catalina/users/DataSourceUserDatabase.java | 87 +++++++++++-----------
.../catalina/users/TestDataSourceUserDatabase.java | 3 +
2 files changed, 48 insertions(+), 42 deletions(-)
diff --git a/java/org/apache/catalina/users/DataSourceUserDatabase.java
b/java/org/apache/catalina/users/DataSourceUserDatabase.java
index 61b78fed3f..a66964b0f0 100644
--- a/java/org/apache/catalina/users/DataSourceUserDatabase.java
+++ b/java/org/apache/catalina/users/DataSourceUserDatabase.java
@@ -542,26 +542,27 @@ public class DataSourceUserDatabase extends
SparseUserDatabase {
groups.putAll(createdGroups);
groups.putAll(modifiedGroups);
- try (Connection dbConnection = openConnection()) {
- if (dbConnection != null && preparedAllGroups != null) {
- try (PreparedStatement stmt =
dbConnection.prepareStatement(preparedAllGroups)) {
- try (ResultSet rs = stmt.executeQuery()) {
- while (rs.next()) {
- String groupName = rs.getString(1);
- if (groupName != null) {
- if (!groups.containsKey(groupName) &&
!removedGroups.containsKey(groupName)) {
- Group group =
findGroupInternal(dbConnection, groupName);
- if (group != null) {
- groups.put(groupName, group);
- }
+ Connection dbConnection = openConnection();
+ if (dbConnection != null && preparedAllGroups != null) {
+ try (PreparedStatement stmt =
dbConnection.prepareStatement(preparedAllGroups)) {
+ try (ResultSet rs = stmt.executeQuery()) {
+ while (rs.next()) {
+ String groupName = rs.getString(1);
+ if (groupName != null) {
+ if (!groups.containsKey(groupName) &&
!removedGroups.containsKey(groupName)) {
+ Group group =
findGroupInternal(dbConnection, groupName);
+ if (group != null) {
+ groups.put(groupName, group);
}
}
}
}
}
+ } catch (SQLException e) {
+
log.error(sm.getString("dataSourceUserDatabase.exception"), e);
+ } finally {
+ closeConnection(dbConnection);
}
- } catch (SQLException e) {
-
log.error(sm.getString("dataSourceUserDatabase.exception"), e);
}
return groups.values().iterator();
} finally {
@@ -582,26 +583,27 @@ public class DataSourceUserDatabase extends
SparseUserDatabase {
roles.putAll(createdRoles);
roles.putAll(modifiedRoles);
- try (Connection dbConnection = openConnection()) {
- if (dbConnection != null && preparedAllRoles != null) {
- try (PreparedStatement stmt =
dbConnection.prepareStatement(preparedAllRoles)) {
- try (ResultSet rs = stmt.executeQuery()) {
- while (rs.next()) {
- String roleName = rs.getString(1);
- if (roleName != null) {
- if (!roles.containsKey(roleName) &&
!removedRoles.containsKey(roleName)) {
- Role role =
findRoleInternal(dbConnection, roleName);
- if (role != null) {
- roles.put(roleName, role);
- }
+ Connection dbConnection = openConnection();
+ if (dbConnection != null && preparedAllRoles != null) {
+ try (PreparedStatement stmt =
dbConnection.prepareStatement(preparedAllRoles)) {
+ try (ResultSet rs = stmt.executeQuery()) {
+ while (rs.next()) {
+ String roleName = rs.getString(1);
+ if (roleName != null) {
+ if (!roles.containsKey(roleName) &&
!removedRoles.containsKey(roleName)) {
+ Role role =
findRoleInternal(dbConnection, roleName);
+ if (role != null) {
+ roles.put(roleName, role);
}
}
}
}
}
+ } catch (SQLException e) {
+
log.error(sm.getString("dataSourceUserDatabase.exception"), e);
+ } finally {
+ closeConnection(dbConnection);
}
- } catch (SQLException e) {
-
log.error(sm.getString("dataSourceUserDatabase.exception"), e);
}
return roles.values().iterator();
} finally {
@@ -622,26 +624,27 @@ public class DataSourceUserDatabase extends
SparseUserDatabase {
users.putAll(createdUsers);
users.putAll(modifiedUsers);
- try (Connection dbConnection = openConnection()) {
- if (dbConnection != null) {
- try (PreparedStatement stmt =
dbConnection.prepareStatement(preparedAllUsers)) {
- try (ResultSet rs = stmt.executeQuery()) {
- while (rs.next()) {
- String userName = rs.getString(1);
- if (userName != null) {
- if (!users.containsKey(userName) &&
!removedUsers.containsKey(userName)) {
- User user =
findUserInternal(dbConnection, userName);
- if (user != null) {
- users.put(userName, user);
- }
+ Connection dbConnection = openConnection();
+ if (dbConnection != null) {
+ try (PreparedStatement stmt =
dbConnection.prepareStatement(preparedAllUsers)) {
+ try (ResultSet rs = stmt.executeQuery()) {
+ while (rs.next()) {
+ String userName = rs.getString(1);
+ if (userName != null) {
+ if (!users.containsKey(userName) &&
!removedUsers.containsKey(userName)) {
+ User user =
findUserInternal(dbConnection, userName);
+ if (user != null) {
+ users.put(userName, user);
}
}
}
}
}
+ } catch (SQLException e) {
+
log.error(sm.getString("dataSourceUserDatabase.exception"), e);
+ } finally {
+ closeConnection(dbConnection);
}
- } catch (SQLException e) {
-
log.error(sm.getString("dataSourceUserDatabase.exception"), e);
}
return users.values().iterator();
} finally {
diff --git a/test/org/apache/catalina/users/TestDataSourceUserDatabase.java
b/test/org/apache/catalina/users/TestDataSourceUserDatabase.java
index ff09d226b2..d3908d9b51 100644
--- a/test/org/apache/catalina/users/TestDataSourceUserDatabase.java
+++ b/test/org/apache/catalina/users/TestDataSourceUserDatabase.java
@@ -156,6 +156,9 @@ public class TestDataSourceUserDatabase extends
LoggingBaseTest {
Assert.assertFalse("Unexpected role for user",
tomcatUser.isInRole(managerRole));
Assert.assertNull(db.findUser("foo"));
+ Iterator<Role> roles = db.getRoles();
+ Assert.assertTrue("No roles found", roles.hasNext());
+
db.close();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]