You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by pa...@apache.org on 2023/04/19 14:20:03 UTC
[shardingsphere] branch master updated: Fix ReturnEmptyCollectionRatherThanNull rule for pmd (#25241)
This is an automated email from the ASF dual-hosted git repository.
panjuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 46e33179f65 Fix ReturnEmptyCollectionRatherThanNull rule for pmd (#25241)
46e33179f65 is described below
commit 46e33179f65eb84b057020b3862cb031b28e46ca
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Wed Apr 19 22:19:55 2023 +0800
Fix ReturnEmptyCollectionRatherThanNull rule for pmd (#25241)
---
.../encrypt/sm/algorithm/SM4EncryptAlgorithm.java | 14 ++++++--------
.../translatable/TranslatableProjectFilterRule.java | 4 ++--
.../xa/bitronix/manager/SingleXAResourceHolder.java | 3 ++-
.../xa/bitronix/manager/SingleXAResourceHolderTest.java | 3 ++-
4 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/features/encrypt/plugin/sm/src/main/java/org/apache/shardingsphere/encrypt/sm/algorithm/SM4EncryptAlgorithm.java b/features/encrypt/plugin/sm/src/main/java/org/apache/shardingsphere/encrypt/sm/algorithm/SM4EncryptAlgorithm.java
index 3c379014f32..748435b9688 100644
--- a/features/encrypt/plugin/sm/src/main/java/org/apache/shardingsphere/encrypt/sm/algorithm/SM4EncryptAlgorithm.java
+++ b/features/encrypt/plugin/sm/src/main/java/org/apache/shardingsphere/encrypt/sm/algorithm/SM4EncryptAlgorithm.java
@@ -18,9 +18,9 @@
package org.apache.shardingsphere.encrypt.sm.algorithm;
import lombok.SneakyThrows;
-import org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm;
-import org.apache.shardingsphere.encrypt.exception.algorithm.EncryptAlgorithmInitializationException;
import org.apache.shardingsphere.encrypt.api.context.EncryptContext;
+import org.apache.shardingsphere.encrypt.exception.algorithm.EncryptAlgorithmInitializationException;
+import org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm;
import org.apache.shardingsphere.infra.util.exception.ShardingSpherePreconditions;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.bouncycastle.pqc.math.linearalgebra.ByteUtils;
@@ -33,7 +33,6 @@ import java.security.GeneralSecurityException;
import java.security.Security;
import java.util.Arrays;
import java.util.HashSet;
-import java.util.Optional;
import java.util.Properties;
import java.util.Set;
@@ -94,7 +93,7 @@ public final class SM4EncryptAlgorithm implements EncryptAlgorithm<Object, Strin
private byte[] createSm4Iv(final Properties props, final String sm4Mode) {
if (!"CBC".equalsIgnoreCase(sm4Mode)) {
- return null;
+ return new byte[0];
}
ShardingSpherePreconditions.checkState(props.containsKey(SM4_IV), () -> new EncryptAlgorithmInitializationException("SM4", String.format("%s can not be null", SM4_IV)));
String sm4IvValue = String.valueOf(props.getProperty(SM4_IV));
@@ -132,11 +131,10 @@ public final class SM4EncryptAlgorithm implements EncryptAlgorithm<Object, Strin
private byte[] handle(final byte[] input, final int mode) {
Cipher cipher = Cipher.getInstance(sm4ModePadding, BouncyCastleProvider.PROVIDER_NAME);
SecretKeySpec secretKeySpec = new SecretKeySpec(sm4Key, "SM4");
- Optional<byte[]> sm4Iv = Optional.ofNullable(this.sm4Iv);
- if (sm4Iv.isPresent()) {
- cipher.init(mode, secretKeySpec, new IvParameterSpec(sm4Iv.get()));
- } else {
+ if (0 == sm4Iv.length) {
cipher.init(mode, secretKeySpec);
+ } else {
+ cipher.init(mode, secretKeySpec, new IvParameterSpec(sm4Iv));
}
return cipher.doFinal(input);
}
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableProjectFilterRule.java b/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableProjectFilterRule.java
index acd31c897cf..fc91294fcc0 100644
--- a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableProjectFilterRule.java
+++ b/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableProjectFilterRule.java
@@ -54,7 +54,7 @@ public class TranslatableProjectFilterRule extends RelOptRule {
LogicalFilter filter = call.rel(1);
TranslatableTableScan scan = call.rel(2);
int[] fields = getProjectFields(project.getProjects());
- if (null == fields) {
+ if (0 == fields.length) {
return;
}
call.transformTo(new TranslatableTableScan(scan.getCluster(), scan.getTable(), scan.getTranslatableTable(), Collections.singletonList(filter.getCondition()), fields));
@@ -67,7 +67,7 @@ public class TranslatableProjectFilterRule extends RelOptRule {
if (exp instanceof RexInputRef) {
result[index] = ((RexInputRef) exp).getIndex();
} else {
- return null;
+ return new int[0];
}
}
return result;
diff --git a/kernel/transaction/type/xa/provider/bitronix/src/main/java/org/apache/shardingsphere/transaction/xa/bitronix/manager/SingleXAResourceHolder.java b/kernel/transaction/type/xa/provider/bitronix/src/main/java/org/apache/shardingsphere/transaction/xa/bitronix/manager/SingleXAResourceHolder.java
index 0ec79499021..ca5121587f0 100644
--- a/kernel/transaction/type/xa/provider/bitronix/src/main/java/org/apache/shardingsphere/transaction/xa/bitronix/manager/SingleXAResourceHolder.java
+++ b/kernel/transaction/type/xa/provider/bitronix/src/main/java/org/apache/shardingsphere/transaction/xa/bitronix/manager/SingleXAResourceHolder.java
@@ -23,6 +23,7 @@ import bitronix.tm.resource.common.XAResourceHolder;
import lombok.RequiredArgsConstructor;
import javax.transaction.xa.XAResource;
+import java.util.Collections;
import java.util.Date;
import java.util.List;
@@ -48,7 +49,7 @@ public final class SingleXAResourceHolder extends AbstractXAResourceHolder {
@Override
public List<XAResourceHolder> getXAResourceHolders() {
- return null;
+ return Collections.emptyList();
}
@Override
diff --git a/kernel/transaction/type/xa/provider/bitronix/src/test/java/org/apache/shardingsphere/transaction/xa/bitronix/manager/SingleXAResourceHolderTest.java b/kernel/transaction/type/xa/provider/bitronix/src/test/java/org/apache/shardingsphere/transaction/xa/bitronix/manager/SingleXAResourceHolderTest.java
index b29c7da9b9a..27f045acff0 100644
--- a/kernel/transaction/type/xa/provider/bitronix/src/test/java/org/apache/shardingsphere/transaction/xa/bitronix/manager/SingleXAResourceHolderTest.java
+++ b/kernel/transaction/type/xa/provider/bitronix/src/test/java/org/apache/shardingsphere/transaction/xa/bitronix/manager/SingleXAResourceHolderTest.java
@@ -29,6 +29,7 @@ import javax.transaction.xa.XAResource;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;
import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
@ExtendWith(MockitoExtension.class)
class SingleXAResourceHolderTest {
@@ -58,7 +59,7 @@ class SingleXAResourceHolderTest {
@Test
void assertGetXAResourceHolders() {
- assertNull(singleXAResourceHolder.getXAResourceHolders());
+ assertTrue(singleXAResourceHolder.getXAResourceHolders().isEmpty());
}
@Test