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 815f49ea90..730989aa05 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.
+
+
@@ -98,6 +100,8 @@ limitations under the License.
+
+
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 7a2d666272..3830a51e9e 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 @@ private static class TestFaultyDiscoveryApiClient extends TestDiscoveryApiClient
super(gatewayConfig, sdConfig, aliasService);
}
+ @SuppressWarnings("PMD.UselessPureMethodCall")
@Override
public ApiResponse 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 cae68ea6dd..781afd99fb 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 final void log( final StackTraceElement caller, final MessageLevel messag
}
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 777cb53105..c6d24f2cd3 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 7f6f08d108..26c61baf91 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 @@ public void log( final StackTraceElement caller, final MessageLevel level, final
}
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 893a200d02..3279210233 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 void run() {
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 bd7f9876e8..90b98c587a 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 List resolve( UrlRewriteContext context, List parameters
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 f30c2b2117..63d2aae15b 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 @@
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 472bdede99..78dda075e8 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 @@ private void archiveTokens(Map tokenDataMap) throws AliasServ
log("Archiving token aliases in the " + cluster + " credential store...");
final long start = System.currentTimeMillis();
final Map 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 8f6572ef99..66e89580f6 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 @@ private Map.Entry doTestTokenLifecyle(final Tok
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 39fe4b431d..86e3db91d4 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.XmlElementWrapper;
import jakarta.xml.bind.annotation.XmlRootElement;
+@SuppressWarnings("PMD.OverrideBothEqualsAndHashCodeOnComparable")
@XmlRootElement(name = "topology")
public class TopologyInformation implements Comparable{
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 f19ebb12e6..dd899f7afe 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 @@ protected List getPathElements() {
}
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 179fbd132f..d83fc3a6d7 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 KnoxShellTable sort(List> col,
return table;
}
+ @SuppressWarnings("PMD.OverrideBothEqualsAndHashCodeOnComparable")
private static class RowIndex implements Comparable {
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 1fc0e40c94..9ea563fe33 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 @@
import java.util.List;
+@SuppressWarnings("PMD.OverrideBothEqualsAndHashCodeOnComparable")
class KnoxShellTableCell> implements Comparable>{
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 0d32f86f55..5835dbe45c 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 void testNullCellRendering() {
table.row().value(null).value("456").value("344444444");
table.row().value("789").value("012").value("844444444");
-
- table.toString();
}
@Test
@@ -172,7 +170,6 @@ public void testMultipleRowsTableMismatchedColAndHeadersCountError() {
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 57245a377e..f0c4275fb9 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.Date;
import java.util.Locale;
+@SuppressWarnings("PMD.OverrideBothEqualsAndHashCodeOnComparable")
public class KnoxToken implements Comparable {
private static final Comparator COMPARATOR = Comparator
.comparingLong((KnoxToken kt) -> kt.issueTime)
diff --git a/pom.xml b/pom.xml
index 21b238991a..cd762d60a1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -254,7 +254,7 @@
3.8.1
3.6.1
3.0.0-M3
- 3.26.0
+ 3.28.0
4.1.16
2.2.4
4.1.127.Final