This is an automated email from the ASF dual-hosted git repository.
smolnar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/knox.git
The following commit(s) were added to refs/heads/master by this push:
new 42715c20e KNOX-3236 - Bump Maven PMD plugin to 3.28.0 (#1135)
42715c20e is described below
commit 42715c20e4812258d9b1d4c2dcf8ec95161bd34d
Author: Sandor Molnar <[email protected]>
AuthorDate: Tue Jan 6 21:14:29 2026 +0100
KNOX-3236 - Bump Maven PMD plugin to 3.28.0 (#1135)
---
.../main/resources/build-tools/pmd/pmd-ruleset.xml | 4 ++++
.../cm/ClouderaManagerServiceDiscoveryTest.java | 1 +
.../messages/loggers/log4j/Log4jMessageLogger.java | 17 ++++++++-------
.../messages/loggers/sl4j/Sl4jMessageLogger.java | 16 +++++++--------
.../messages/loggers/jdk/JdkMessageLogger.java | 16 +++++++--------
.../test/knoxtoken/KnoxTokenWorkerThread.java | 17 ++++-----------
.../impl/InboundUrlFunctionProcessor.java | 12 ++++-------
.../knox/gateway/database/DataSourceFactory.java | 1 +
.../knox/gateway/util/TokenMigrationTool.java | 12 +++++------
.../knoxtoken/TokenServiceResourceTest.java | 19 ++++++-----------
.../service/metadata/TopologyInformation.java | 1 +
.../gateway/shell/alias/AbstractAliasRequest.java | 24 ++++++----------------
.../knox/gateway/shell/table/KnoxShellTable.java | 1 +
.../gateway/shell/table/KnoxShellTableCell.java | 1 +
.../gateway/shell/table/KnoxShellTableTest.java | 3 ---
.../gateway/services/security/token/KnoxToken.java | 1 +
pom.xml | 2 +-
17 files changed, 58 insertions(+), 90 deletions(-)
diff --git a/build-tools/src/main/resources/build-tools/pmd/pmd-ruleset.xml
b/build-tools/src/main/resources/build-tools/pmd/pmd-ruleset.xml
index 815f49ea9..730989aa0 100644
--- a/build-tools/src/main/resources/build-tools/pmd/pmd-ruleset.xml
+++ b/build-tools/src/main/resources/build-tools/pmd/pmd-ruleset.xml
@@ -58,6 +58,8 @@ limitations under the License.
<exclude name="SimplifiableTestAssertion" />
<exclude name="DoubleBraceInitialization" />
<exclude name="UseCollectionIsEmpty" />
+ <exclude name="ImplicitFunctionalInterface" />
+ <exclude name="UnnecessaryWarningSuppression" />
</rule>
<!--<rule ref="category/java/codestyle.xml" />-->
@@ -98,6 +100,8 @@ limitations under the License.
<exclude name="CloneMethodReturnTypeMustMatchClassName" />
<exclude name="CloseResource" />
<exclude name="CompareObjectsWithEquals" />
+ <exclude name="ReplaceJavaUtilCalendar" />
+ <exclude name="ReplaceJavaUtilDate" />
</rule>
<rule ref="category/java/multithreading.xml">
<exclude name="AvoidSynchronizedAtMethodLevel" />
diff --git
a/gateway-discovery-cm/src/test/java/org/apache/knox/gateway/topology/discovery/cm/ClouderaManagerServiceDiscoveryTest.java
b/gateway-discovery-cm/src/test/java/org/apache/knox/gateway/topology/discovery/cm/ClouderaManagerServiceDiscoveryTest.java
index 7a2d66627..3830a51e9 100644
---
a/gateway-discovery-cm/src/test/java/org/apache/knox/gateway/topology/discovery/cm/ClouderaManagerServiceDiscoveryTest.java
+++
b/gateway-discovery-cm/src/test/java/org/apache/knox/gateway/topology/discovery/cm/ClouderaManagerServiceDiscoveryTest.java
@@ -1656,6 +1656,7 @@ public class ClouderaManagerServiceDiscoveryTest {
super(gatewayConfig, sdConfig, aliasService);
}
+ @SuppressWarnings("PMD.UselessPureMethodCall")
@Override
public <T> ApiResponse<T> execute(Call call, Type returnType) throws
ApiException {
if (executeCount.get() == 0) {
diff --git
a/gateway-i18n-logging-log4j/src/main/java/org/apache/knox/gateway/i18n/messages/loggers/log4j/Log4jMessageLogger.java
b/gateway-i18n-logging-log4j/src/main/java/org/apache/knox/gateway/i18n/messages/loggers/log4j/Log4jMessageLogger.java
index cae68ea6d..781afd99f 100644
---
a/gateway-i18n-logging-log4j/src/main/java/org/apache/knox/gateway/i18n/messages/loggers/log4j/Log4jMessageLogger.java
+++
b/gateway-i18n-logging-log4j/src/main/java/org/apache/knox/gateway/i18n/messages/loggers/log4j/Log4jMessageLogger.java
@@ -42,15 +42,14 @@ public class Log4jMessageLogger implements MessageLogger {
}
private static Level toLevel(final MessageLevel level ) {
- switch( level ) {
- case FATAL: return Level.FATAL;
- case ERROR: return Level.ERROR;
- case WARN: return Level.WARN;
- case INFO: return Level.INFO;
- case DEBUG: return Level.DEBUG;
- case TRACE: return Level.TRACE;
- default: return Level.OFF;
- }
+ return switch (level) {
+ case FATAL -> Level.FATAL;
+ case ERROR -> Level.ERROR;
+ case WARN -> Level.WARN;
+ case INFO -> Level.INFO;
+ case DEBUG -> Level.DEBUG;
+ case TRACE -> Level.TRACE;
+ };
}
}
diff --git
a/gateway-i18n-logging-sl4j/src/main/java/org/apache/knox/gateway/i18n/messages/loggers/sl4j/Sl4jMessageLogger.java
b/gateway-i18n-logging-sl4j/src/main/java/org/apache/knox/gateway/i18n/messages/loggers/sl4j/Sl4jMessageLogger.java
index 777cb5310..c6d24f2cd 100644
---
a/gateway-i18n-logging-sl4j/src/main/java/org/apache/knox/gateway/i18n/messages/loggers/sl4j/Sl4jMessageLogger.java
+++
b/gateway-i18n-logging-sl4j/src/main/java/org/apache/knox/gateway/i18n/messages/loggers/sl4j/Sl4jMessageLogger.java
@@ -31,15 +31,13 @@ public class Sl4jMessageLogger implements MessageLogger {
@Override
public boolean isLoggable( MessageLevel level ) {
- switch( level ) {
- case FATAL: return logger.isErrorEnabled();
- case ERROR: return logger.isErrorEnabled();
- case WARN: return logger.isWarnEnabled();
- case INFO: return logger.isInfoEnabled();
- case DEBUG: return logger.isDebugEnabled();
- case TRACE: return logger.isTraceEnabled();
- default: return false;
- }
+ return switch (level) {
+ case FATAL, ERROR -> logger.isErrorEnabled();
+ case WARN -> logger.isWarnEnabled();
+ case INFO -> logger.isInfoEnabled();
+ case DEBUG -> logger.isDebugEnabled();
+ case TRACE -> logger.isTraceEnabled();
+ };
}
@Override
diff --git
a/gateway-i18n/src/main/java/org/apache/knox/gateway/i18n/messages/loggers/jdk/JdkMessageLogger.java
b/gateway-i18n/src/main/java/org/apache/knox/gateway/i18n/messages/loggers/jdk/JdkMessageLogger.java
index 7f6f08d10..26c61baf9 100644
---
a/gateway-i18n/src/main/java/org/apache/knox/gateway/i18n/messages/loggers/jdk/JdkMessageLogger.java
+++
b/gateway-i18n/src/main/java/org/apache/knox/gateway/i18n/messages/loggers/jdk/JdkMessageLogger.java
@@ -50,15 +50,13 @@ final class JdkMessageLogger implements MessageLogger {
}
private static Level toLevel( final MessageLevel level ) {
- switch( level ) {
- case FATAL: return Level.SEVERE;
- case ERROR: return Level.SEVERE;
- case WARN: return Level.WARNING;
- case INFO: return Level.INFO;
- case DEBUG: return Level.FINE;
- case TRACE: return Level.FINEST;
- default: return Level.OFF;
- }
+ return switch (level) {
+ case FATAL, ERROR -> Level.SEVERE;
+ case WARN -> Level.WARNING;
+ case INFO -> Level.INFO;
+ case DEBUG -> Level.FINE;
+ case TRACE -> Level.FINEST;
+ };
}
}
diff --git
a/gateway-performance-test/src/main/java/org/apache/knox/gateway/performance/test/knoxtoken/KnoxTokenWorkerThread.java
b/gateway-performance-test/src/main/java/org/apache/knox/gateway/performance/test/knoxtoken/KnoxTokenWorkerThread.java
index 893a200d0..327921023 100644
---
a/gateway-performance-test/src/main/java/org/apache/knox/gateway/performance/test/knoxtoken/KnoxTokenWorkerThread.java
+++
b/gateway-performance-test/src/main/java/org/apache/knox/gateway/performance/test/knoxtoken/KnoxTokenWorkerThread.java
@@ -93,19 +93,10 @@ public class KnoxTokenWorkerThread implements Runnable {
private void executeAction(final KnoxSession gatewayKnoxSession, final
KnoxSession tokenBasedKnoxSession) {
try {
- switch (this.action) {
- case ACQUIRE:
- knoxTokenCache.saveKnoxToken(acquireKnoxToken(gatewayKnoxSession));
- break;
- case RENEW:
- renewKnoxToken(gatewayKnoxSession);
- break;
- case USE_TOKEN:
- useKnoxToken(tokenBasedKnoxSession);
- break;
- default:
- // NOP
- break;
+ switch (action) {
+ case ACQUIRE ->
knoxTokenCache.saveKnoxToken(acquireKnoxToken(gatewayKnoxSession));
+ case RENEW -> renewKnoxToken(gatewayKnoxSession);
+ case USE_TOKEN -> useKnoxToken(tokenBasedKnoxSession);
}
} catch (Exception e) {
LOG.failedToExecuteKnoxTokenAction(action, e.getMessage(), e);
diff --git
a/gateway-provider-rewrite-func-inbound-query-param/src/main/java/org/apache/knox/gateway/inboundurl/impl/InboundUrlFunctionProcessor.java
b/gateway-provider-rewrite-func-inbound-query-param/src/main/java/org/apache/knox/gateway/inboundurl/impl/InboundUrlFunctionProcessor.java
index bd7f9876e..90b98c587 100644
---
a/gateway-provider-rewrite-func-inbound-query-param/src/main/java/org/apache/knox/gateway/inboundurl/impl/InboundUrlFunctionProcessor.java
+++
b/gateway-provider-rewrite-func-inbound-query-param/src/main/java/org/apache/knox/gateway/inboundurl/impl/InboundUrlFunctionProcessor.java
@@ -47,14 +47,10 @@ public class InboundUrlFunctionProcessor
if( parameters == null || parameters.isEmpty()) {
return Collections.emptyList();
} else {
- switch( context.getDirection() ) {
- case IN:
- return Collections.emptyList();
- case OUT:
- return context.getParameters().resolve(
UrlRewriteResponse.INBOUND_QUERY_PARAM_PREFIX + parameters.get( 0 ));
- default:
- return Collections.emptyList();
- }
+ return switch (context.getDirection()) {
+ case IN -> Collections.emptyList();
+ case OUT ->
context.getParameters().resolve(UrlRewriteResponse.INBOUND_QUERY_PARAM_PREFIX +
parameters.get(0));
+ };
}
}
}
diff --git
a/gateway-server/src/main/java/org/apache/knox/gateway/database/DataSourceFactory.java
b/gateway-server/src/main/java/org/apache/knox/gateway/database/DataSourceFactory.java
index f30c2b211..63d2aae15 100644
---
a/gateway-server/src/main/java/org/apache/knox/gateway/database/DataSourceFactory.java
+++
b/gateway-server/src/main/java/org/apache/knox/gateway/database/DataSourceFactory.java
@@ -26,6 +26,7 @@ import java.sql.SQLException;
public class DataSourceFactory {
+ @SuppressWarnings("PMD.ExhaustiveSwitchHasDefault")
public static DataSource getDataSource(GatewayConfig gatewayConfig,
AliasService aliasService) throws AliasServiceException, SQLException {
DatabaseType dbType =
DatabaseType.fromString(gatewayConfig.getDatabaseType());
AbstractDataSource dsFactory;
diff --git
a/gateway-server/src/main/java/org/apache/knox/gateway/util/TokenMigrationTool.java
b/gateway-server/src/main/java/org/apache/knox/gateway/util/TokenMigrationTool.java
index 472bdede9..78dda075e 100644
---
a/gateway-server/src/main/java/org/apache/knox/gateway/util/TokenMigrationTool.java
+++
b/gateway-server/src/main/java/org/apache/knox/gateway/util/TokenMigrationTool.java
@@ -184,13 +184,11 @@ public class TokenMigrationTool {
log("Archiving token aliases in the " + cluster + " credential
store...");
final long start = System.currentTimeMillis();
final Map<String, String> tokenAliasesToArchive = new HashMap<>();
- tokenDataMap.entrySet().forEach(tokenDataMapEntry -> {
- String tokenId = tokenDataMapEntry.getKey();
- tokenDataMapEntry.getValue();
- tokenAliasesToArchive.put(tokenId,
String.valueOf(tokenDataMapEntry.getValue().expiration));
- tokenAliasesToArchive.put(tokenId + TOKEN_MAX_LIFETIME_POSTFIX,
String.valueOf(tokenDataMapEntry.getValue().maxLifeTime));
- tokenAliasesToArchive.put(tokenId + TOKEN_ISSUE_TIME_POSTFIX,
String.valueOf(tokenDataMapEntry.getValue().issueTime));
- tokenAliasesToArchive.put(tokenId + TOKEN_META_POSTFIX,
tokenDataMapEntry.getValue().metadata.toJSON());
+ tokenDataMap.forEach((tokenId, value) -> {
+ tokenAliasesToArchive.put(tokenId, String.valueOf(value.expiration));
+ tokenAliasesToArchive.put(tokenId + TOKEN_MAX_LIFETIME_POSTFIX,
String.valueOf(value.maxLifeTime));
+ tokenAliasesToArchive.put(tokenId + TOKEN_ISSUE_TIME_POSTFIX,
String.valueOf(value.issueTime));
+ tokenAliasesToArchive.put(tokenId + TOKEN_META_POSTFIX,
value.metadata.toJSON());
});
aliasService.addAliasesForCluster(cluster, tokenAliasesToArchive);
log("Archived token related aliases in the " + cluster + " credential
store in " + (System.currentTimeMillis() - start) + " millsieconds ");
diff --git
a/gateway-service-knoxtoken/src/test/java/org/apache/knox/gateway/service/knoxtoken/TokenServiceResourceTest.java
b/gateway-service-knoxtoken/src/test/java/org/apache/knox/gateway/service/knoxtoken/TokenServiceResourceTest.java
index 8f6572ef9..66e89580f 100644
---
a/gateway-service-knoxtoken/src/test/java/org/apache/knox/gateway/service/knoxtoken/TokenServiceResourceTest.java
+++
b/gateway-service-knoxtoken/src/test/java/org/apache/knox/gateway/service/knoxtoken/TokenServiceResourceTest.java
@@ -1689,19 +1689,12 @@ public class TokenServiceResourceTest {
final TokenResource tr = new TokenResource();
final String accessToken = getAccessToken(tr);
- Response response;
- switch (operation) {
- case Renew:
- response = requestTokenRenewal(tr, accessToken, caller);
- break;
- case Revoke:
- response = requestTokenRevocation(tr, accessToken, caller);
- break;
- default:
- throw new Exception("Invalid operation: " + operation);
- }
-
- return new AbstractMap.SimpleEntry<>(tss, response);
+ Response response = switch (operation) {
+ case Renew -> requestTokenRenewal(tr, accessToken, caller);
+ case Revoke -> requestTokenRevocation(tr, accessToken, caller);
+ };
+
+ return new AbstractMap.SimpleEntry<>(tss, response);
}
private String getAccessToken(TokenResource tokenResource) throws
KeyLengthException, AliasServiceException, ServiceLifecycleException,
ServletException {
diff --git
a/gateway-service-metadata/src/main/java/org/apache/knox/gateway/service/metadata/TopologyInformation.java
b/gateway-service-metadata/src/main/java/org/apache/knox/gateway/service/metadata/TopologyInformation.java
index 39fe4b431..86e3db91d 100644
---
a/gateway-service-metadata/src/main/java/org/apache/knox/gateway/service/metadata/TopologyInformation.java
+++
b/gateway-service-metadata/src/main/java/org/apache/knox/gateway/service/metadata/TopologyInformation.java
@@ -23,6 +23,7 @@ import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlElementWrapper;
import jakarta.xml.bind.annotation.XmlRootElement;
+@SuppressWarnings("PMD.OverrideBothEqualsAndHashCodeOnComparable")
@XmlRootElement(name = "topology")
public class TopologyInformation implements Comparable<TopologyInformation>{
diff --git
a/gateway-shell/src/main/java/org/apache/knox/gateway/shell/alias/AbstractAliasRequest.java
b/gateway-shell/src/main/java/org/apache/knox/gateway/shell/alias/AbstractAliasRequest.java
index f19ebb12e..dd899f7af 100644
---
a/gateway-shell/src/main/java/org/apache/knox/gateway/shell/alias/AbstractAliasRequest.java
+++
b/gateway-shell/src/main/java/org/apache/knox/gateway/shell/alias/AbstractAliasRequest.java
@@ -104,24 +104,12 @@ public abstract class AbstractAliasRequest extends
AbstractRequest<AliasResponse
}
protected HttpRequestBase createRequest() {
- HttpRequestBase request;
-
- switch (getRequestType()) {
- case POST:
- request = new HttpPost(requestURI);
- break;
- case PUT:
- request = new HttpPut(requestURI);
- break;
- case DELETE:
- request = new HttpDelete(requestURI);
- break;
- case GET:
- default:
- request = new HttpGet(requestURI);
- break;
- }
- return request;
+ return switch (getRequestType()) {
+ case POST -> new HttpPost(requestURI);
+ case PUT -> new HttpPut(requestURI);
+ case DELETE -> new HttpDelete(requestURI);
+ default -> new HttpGet(requestURI);
+ };
}
protected AliasResponse createResponse(HttpResponse response) {
diff --git
a/gateway-shell/src/main/java/org/apache/knox/gateway/shell/table/KnoxShellTable.java
b/gateway-shell/src/main/java/org/apache/knox/gateway/shell/table/KnoxShellTable.java
index 179fbd132..d83fc3a6d 100644
---
a/gateway-shell/src/main/java/org/apache/knox/gateway/shell/table/KnoxShellTable.java
+++
b/gateway-shell/src/main/java/org/apache/knox/gateway/shell/table/KnoxShellTable.java
@@ -446,6 +446,7 @@ public class KnoxShellTable {
return table;
}
+ @SuppressWarnings("PMD.OverrideBothEqualsAndHashCodeOnComparable")
private static class RowIndex implements Comparable<RowIndex> {
Comparable value;
int index;
diff --git
a/gateway-shell/src/main/java/org/apache/knox/gateway/shell/table/KnoxShellTableCell.java
b/gateway-shell/src/main/java/org/apache/knox/gateway/shell/table/KnoxShellTableCell.java
index 1fc0e40c9..9ea563fe3 100644
---
a/gateway-shell/src/main/java/org/apache/knox/gateway/shell/table/KnoxShellTableCell.java
+++
b/gateway-shell/src/main/java/org/apache/knox/gateway/shell/table/KnoxShellTableCell.java
@@ -19,6 +19,7 @@ package org.apache.knox.gateway.shell.table;
import java.util.List;
+@SuppressWarnings("PMD.OverrideBothEqualsAndHashCodeOnComparable")
class KnoxShellTableCell<T extends Comparable<T>> implements
Comparable<KnoxShellTableCell<T>>{
int rowIndex;
int colIndex;
diff --git
a/gateway-shell/src/test/java/org/apache/knox/gateway/shell/table/KnoxShellTableTest.java
b/gateway-shell/src/test/java/org/apache/knox/gateway/shell/table/KnoxShellTableTest.java
index 0d32f86f5..5835dbe45 100644
---
a/gateway-shell/src/test/java/org/apache/knox/gateway/shell/table/KnoxShellTableTest.java
+++
b/gateway-shell/src/test/java/org/apache/knox/gateway/shell/table/KnoxShellTableTest.java
@@ -122,8 +122,6 @@ public class KnoxShellTableTest {
table.row().value(null).value("456").value("344444444");
table.row().value("789").value("012").value("844444444");
-
- table.toString();
}
@Test
@@ -172,7 +170,6 @@ public class KnoxShellTableTest {
table.row().value("789").value("012").value("844444444");
assertNull(table.toString());
- table.toString();
}
@Test
diff --git
a/gateway-spi/src/main/java/org/apache/knox/gateway/services/security/token/KnoxToken.java
b/gateway-spi/src/main/java/org/apache/knox/gateway/services/security/token/KnoxToken.java
index 57245a377..f0c4275fb 100644
---
a/gateway-spi/src/main/java/org/apache/knox/gateway/services/security/token/KnoxToken.java
+++
b/gateway-spi/src/main/java/org/apache/knox/gateway/services/security/token/KnoxToken.java
@@ -24,6 +24,7 @@ import java.util.Comparator;
import java.util.Date;
import java.util.Locale;
+@SuppressWarnings("PMD.OverrideBothEqualsAndHashCodeOnComparable")
public class KnoxToken implements Comparable<KnoxToken> {
private static final Comparator<KnoxToken> COMPARATOR = Comparator
.comparingLong((KnoxToken kt) -> kt.issueTime)
diff --git a/pom.xml b/pom.xml
index 21b238991..cd762d60a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -254,7 +254,7 @@
<maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
<maven-dependency-plugin.version>3.6.1</maven-dependency-plugin.version>
<maven-enforcer-plugin.version>3.0.0-M3</maven-enforcer-plugin.version>
- <maven-pmd-plugin.version>3.26.0</maven-pmd-plugin.version>
+ <maven-pmd-plugin.version>3.28.0</maven-pmd-plugin.version>
<metrics.version>4.1.16</metrics.version>
<mina.version>2.2.4</mina.version>
<netty.version>4.1.127.Final</netty.version>