diff --git a/fabric-chaincode-shim/build.gradle b/fabric-chaincode-shim/build.gradle
index eff78a88..e5602c7c 100644
--- a/fabric-chaincode-shim/build.gradle
+++ b/fabric-chaincode-shim/build.gradle
@@ -12,7 +12,7 @@ plugins {
}
pmd {
- toolVersion = '7.7.0'
+ toolVersion = '7.12.0'
ruleSetFiles = files('../pmd-ruleset.xml')
ruleSets = [] // explicitly set to empty to avoid using the default configuration
ignoreFailures = false
diff --git a/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/contract/execution/ExecutionService.java b/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/contract/execution/ExecutionService.java
index 8c859680..629f21bb 100644
--- a/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/contract/execution/ExecutionService.java
+++ b/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/contract/execution/ExecutionService.java
@@ -15,6 +15,7 @@
*
*
Service that executes {@link InvocationRequest} (wrapped Init/Invoke + extra data) using routing information
*/
+@FunctionalInterface
public interface ExecutionService {
/**
diff --git a/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/contract/execution/impl/ContractInvocationRequest.java b/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/contract/execution/impl/ContractInvocationRequest.java
index 7a3e0ff3..82a0f996 100644
--- a/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/contract/execution/impl/ContractInvocationRequest.java
+++ b/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/contract/execution/impl/ContractInvocationRequest.java
@@ -15,7 +15,7 @@
import org.hyperledger.fabric.shim.ChaincodeStub;
public final class ContractInvocationRequest implements InvocationRequest {
- @SuppressWarnings("PMD.ProperLogger") // PMD 7.7.0 gives a false positive here
+ @SuppressWarnings("PMD.ProperLogger") // PMD 7.12.0 gives a false positive here
private static final Log LOGGER = LogFactory.getLog(ContractInvocationRequest.class);
private static final Pattern NS_REGEX = Pattern.compile(":");
diff --git a/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/contract/routing/impl/SerializerRegistryImpl.java b/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/contract/routing/impl/SerializerRegistryImpl.java
index 728966f0..99a41e03 100644
--- a/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/contract/routing/impl/SerializerRegistryImpl.java
+++ b/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/contract/routing/impl/SerializerRegistryImpl.java
@@ -24,7 +24,7 @@
public class SerializerRegistryImpl {
private static final Logger LOGGER = Logger.getLogger(SerializerRegistryImpl.class);
- private final Class annotationClass = Serializer.class;
+ private static final Class ANNOTATION_CLASS = Serializer.class;
// Could index these by name and or type.
private final Map contents = new HashMap<>();
@@ -68,7 +68,7 @@ public void findAndSetContents() throws InstantiationException, IllegalAccessExc
try (ScanResult scanResult = classGraph.scan()) {
for (final ClassInfo classInfo :
- scanResult.getClassesWithAnnotation(this.annotationClass.getCanonicalName())) {
+ scanResult.getClassesWithAnnotation(this.ANNOTATION_CLASS.getCanonicalName())) {
LOGGER.debug(() -> "Found class with contract annotation: " + classInfo.getName());
final Class cls = (Class) classInfo.loadClass();
LOGGER.debug("Loaded class");
diff --git a/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/ledger/Collection.java b/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/ledger/Collection.java
index 1f109da8..42a26107 100644
--- a/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/ledger/Collection.java
+++ b/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/ledger/Collection.java
@@ -6,6 +6,7 @@
package org.hyperledger.fabric.ledger;
/** Place holder. */
+@SuppressWarnings("PMD.ImplicitFunctionalInterface")
public interface Collection {
/** Constant that can be used to refer to the 'Worldstate' collection explicitly. */
diff --git a/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/shim/ext/sbe/impl/StateBasedEndorsementImpl.java b/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/shim/ext/sbe/impl/StateBasedEndorsementImpl.java
index 1226a3cb..56cae1a0 100644
--- a/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/shim/ext/sbe/impl/StateBasedEndorsementImpl.java
+++ b/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/shim/ext/sbe/impl/StateBasedEndorsementImpl.java
@@ -23,7 +23,7 @@
/** Implements {@link StateBasedEndorsement}. */
public final class StateBasedEndorsementImpl implements StateBasedEndorsement {
- @SuppressWarnings("PMD.ProperLogger") // PMD 7.7.0 reports a false positive
+ @SuppressWarnings("PMD.ProperLogger") // PMD 7.12.0 reports a false positive
private static final Log LOGGER = LogFactory.getLog(StateBasedEndorsementImpl.class);
private final Map orgs = new HashMap<>();
diff --git a/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/shim/impl/InvocationTaskManager.java b/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/shim/impl/InvocationTaskManager.java
index aecc8e64..bbed26d7 100644
--- a/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/shim/impl/InvocationTaskManager.java
+++ b/fabric-chaincode-shim/src/main/java/org/hyperledger/fabric/shim/impl/InvocationTaskManager.java
@@ -183,9 +183,6 @@ private void processChaincodeMessage(final ChaincodeMessage chaincodeMessage) {
case READY:
handleMsg(chaincodeMessage, msgType);
break;
- default:
- LOGGER.warning(() -> String.format(CANNOT_HANDLE_FORMAT, chaincodeMessage.getTxid(), msgType));
- break;
}
}