This is an automated email from the ASF dual-hosted git repository.
sunnianjun 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 6bb6e162247 Refactor UnregisteredAlgorithmException (#30646)
6bb6e162247 is described below
commit 6bb6e162247060c269c5740fe3fbfa5ff2a2097c
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Mar 25 23:39:04 2024 +0800
Refactor UnregisteredAlgorithmException (#30646)
* Refactor UnregisteredAlgorithmException
* Refactor UnregisteredAlgorithmException
---
.../user-manual/error-code/sql-error-code.cn.md | 3 +-
.../user-manual/error-code/sql-error-code.en.md | 3 +-
.../checker/EncryptRuleConfigurationChecker.java | 10 +++----
.../metadata/UnregisteredEncryptorException.java | 33 ----------------------
.../EncryptRuleConfigurationCheckerTest.java | 8 +++---
.../mask/checker/MaskRuleConfigurationChecker.java | 4 +--
...on.java => UnregisteredAlgorithmException.java} | 8 +++---
7 files changed, 17 insertions(+), 52 deletions(-)
diff --git a/docs/document/content/user-manual/error-code/sql-error-code.cn.md
b/docs/document/content/user-manual/error-code/sql-error-code.cn.md
index 300e85e1b4a..0d43dee8368 100644
--- a/docs/document/content/user-manual/error-code/sql-error-code.cn.md
+++ b/docs/document/content/user-manual/error-code/sql-error-code.cn.md
@@ -24,7 +24,7 @@ SQL 错误码以标准的 SQL State,Vendor Code 和详细错误信息提供,
| 42000 | 10010 | Rule does not exist.
|
| 44000 | 10011 | Algorithm '%s.'%s' initialization failed, reason
is: %s. |
| 44000 | 10012 | '%s' algorithm on database.table.column:
'%s'.'%s'.'%s' is required. |
-| 42S02 | 10013 | Can not find '%s' algorithm '%s' on
database.table.column: '%s'.'%s'.'%s'. |
+| 42S02 | 10013 | '%s' algorithm '%s' on database.table.column:
'%s'.'%s'.'%s' is unregistered. |
| HY000 | 10015 | Algorithm '%s.%s' execute failed, reason is: %s.
|
| 42S02 | 10020 | Schema \`%s\` does not exist.
|
| 42S02 | 10021 | Single table \`%s\` does not exist.
|
@@ -269,7 +269,6 @@ SQL 错误码以标准的 SQL State,Vendor Code 和详细错误信息提供,
| 44000 | 20705 | Assisted query column of \`%s\` can not be null in
database \`%s\`. |
| 44000 | 20707 | Like query column of \`%s\` can not be null in
database \`%s\`. |
| 44000 | 20709 | Can not find encrypt table: \`%s\`.
|
-| 44000 | 20710 | Can not found registered encryptor \`%s\` in
database \`%s\`. |
### 影子库
diff --git a/docs/document/content/user-manual/error-code/sql-error-code.en.md
b/docs/document/content/user-manual/error-code/sql-error-code.en.md
index 5370722c3e0..7f5fcd4850a 100644
--- a/docs/document/content/user-manual/error-code/sql-error-code.en.md
+++ b/docs/document/content/user-manual/error-code/sql-error-code.en.md
@@ -24,7 +24,7 @@ SQL error codes provide by standard `SQL State`, `Vendor
Code` and `Reason`, whi
| 42000 | 10010 | Rule does not exist.
|
| 44000 | 10011 | Algorithm '%s.'%s' initialization failed, reason
is: %s. |
| 44000 | 10012 | '%s' algorithm on database.table.column:
'%s'.'%s'.'%s' is required. |
-| 42S02 | 10013 | Can not find '%s' algorithm '%s' on
database.table.column: '%s'.'%s'.'%s'. |
+| 42S02 | 10013 | '%s' algorithm '%s' on database.table.column:
'%s'.'%s'.'%s' is unregistered. |
| HY000 | 10015 | Algorithm '%s.%s' execute failed, reason is: %s.
|
| 42S02 | 10020 | Schema \`%s\` does not exist.
|
| 42S02 | 10021 | Single table \`%s\` does not exist.
|
@@ -284,7 +284,6 @@ SQL error codes provide by standard `SQL State`, `Vendor
Code` and `Reason`, whi
| 44000 | 20705 | Assisted query column of \`%s\` can not be null in
database \`%s\`. |
| 44000 | 20707 | Like query column of \`%s\` can not be null in
database \`%s\`. |
| 44000 | 20709 | Can not find encrypt table: \`%s\`.
|
-| 44000 | 20710 | Can not found registered encryptor \`%s\` in
database \`%s\`. |
### Shadow Database
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/checker/EncryptRuleConfigurationChecker.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/checker/EncryptRuleConfigurationChecker.java
index 32cbd77d4f1..0912cea66c7 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/checker/EncryptRuleConfigurationChecker.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/checker/EncryptRuleConfigurationChecker.java
@@ -26,10 +26,10 @@ import
org.apache.shardingsphere.encrypt.constant.EncryptOrder;
import
org.apache.shardingsphere.encrypt.exception.metadata.EncryptAssistedQueryColumnNotFoundException;
import
org.apache.shardingsphere.encrypt.exception.metadata.EncryptCipherColumnNotFoundException;
import
org.apache.shardingsphere.encrypt.exception.metadata.EncryptLikeQueryColumnNotFoundException;
-import
org.apache.shardingsphere.encrypt.exception.metadata.UnregisteredEncryptorException;
import org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm;
import
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfiguration;
import
org.apache.shardingsphere.infra.algorithm.core.exception.EmptyAlgorithmOnColumnException;
+import
org.apache.shardingsphere.infra.algorithm.core.exception.UnregisteredAlgorithmException;
import
org.apache.shardingsphere.infra.config.rule.checker.RuleConfigurationChecker;
import
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
@@ -75,7 +75,7 @@ public final class EncryptRuleConfigurationChecker implements
RuleConfigurationC
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(cipherColumnConfig.getEncryptorName()),
() -> new EmptyAlgorithmOnColumnException("Standard encrypt",
databaseName, tableName, logicColumnName));
ShardingSpherePreconditions.checkState(encryptors.containsKey(cipherColumnConfig.getEncryptorName()),
- () -> new UnregisteredEncryptorException(databaseName,
cipherColumnConfig.getEncryptorName()));
+ () -> new UnregisteredAlgorithmException("Standard encrypt",
cipherColumnConfig.getEncryptorName(), databaseName, tableName,
logicColumnName));
}
private void checkAssistColumn(final String databaseName, final String
tableName, final String logicColumnName,
@@ -83,8 +83,8 @@ public final class EncryptRuleConfigurationChecker implements
RuleConfigurationC
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(assistedQueryColumnConfig.getName()),
() -> new EncryptAssistedQueryColumnNotFoundException(logicColumnName,
databaseName));
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(assistedQueryColumnConfig.getEncryptorName()),
() -> new EmptyAlgorithmOnColumnException("Assist query
encrypt", databaseName, tableName, logicColumnName));
- ShardingSpherePreconditions.checkState(
-
encryptors.containsKey(assistedQueryColumnConfig.getEncryptorName()), () -> new
UnregisteredEncryptorException(databaseName,
assistedQueryColumnConfig.getEncryptorName()));
+
ShardingSpherePreconditions.checkState(encryptors.containsKey(assistedQueryColumnConfig.getEncryptorName()),
+ () -> new UnregisteredAlgorithmException("Assist query
encrypt", assistedQueryColumnConfig.getEncryptorName(), databaseName,
tableName, logicColumnName));
}
private void checkLikeColumn(final String databaseName, final String
tableName, final String logicColumnName,
@@ -93,7 +93,7 @@ public final class EncryptRuleConfigurationChecker implements
RuleConfigurationC
ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(likeQueryColumnConfig.getEncryptorName()),
() -> new EmptyAlgorithmOnColumnException("Like query",
databaseName, tableName, logicColumnName));
ShardingSpherePreconditions.checkState(encryptors.containsKey(likeQueryColumnConfig.getEncryptorName()),
- () -> new UnregisteredEncryptorException(databaseName,
likeQueryColumnConfig.getEncryptorName()));
+ () -> new UnregisteredAlgorithmException("Like query encrypt",
likeQueryColumnConfig.getEncryptorName(), databaseName, tableName,
logicColumnName));
}
@Override
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/UnregisteredEncryptorException.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/UnregisteredEncryptorException.java
deleted file mode 100644
index 680c097dc3d..00000000000
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/exception/metadata/UnregisteredEncryptorException.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.encrypt.exception.metadata;
-
-import org.apache.shardingsphere.encrypt.exception.EncryptSQLException;
-import
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpenSQLState;
-
-/**
- * Unregistered encryptor exception.
- */
-public final class UnregisteredEncryptorException extends EncryptSQLException {
-
- private static final long serialVersionUID = -1106379155485560944L;
-
- public UnregisteredEncryptorException(final String databaseName, final
String encryptorName) {
- super(XOpenSQLState.CHECK_OPTION_VIOLATION, 10, "Can not found
registered encryptor `%s` in database `%s`.", encryptorName, databaseName);
- }
-}
diff --git
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/checker/EncryptRuleConfigurationCheckerTest.java
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/checker/EncryptRuleConfigurationCheckerTest.java
index 0075f3ae01c..a8d2e09a9bb 100644
---
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/checker/EncryptRuleConfigurationCheckerTest.java
+++
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/checker/EncryptRuleConfigurationCheckerTest.java
@@ -21,8 +21,8 @@ import
org.apache.shardingsphere.encrypt.api.config.EncryptRuleConfiguration;
import
org.apache.shardingsphere.encrypt.api.config.rule.EncryptColumnItemRuleConfiguration;
import
org.apache.shardingsphere.encrypt.api.config.rule.EncryptColumnRuleConfiguration;
import
org.apache.shardingsphere.encrypt.api.config.rule.EncryptTableRuleConfiguration;
-import
org.apache.shardingsphere.encrypt.exception.metadata.UnregisteredEncryptorException;
import
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfiguration;
+import
org.apache.shardingsphere.infra.algorithm.core.exception.UnregisteredAlgorithmException;
import
org.apache.shardingsphere.infra.config.rule.checker.RuleConfigurationChecker;
import org.apache.shardingsphere.infra.spi.type.ordered.OrderedSPILoader;
import org.junit.jupiter.api.Test;
@@ -59,7 +59,7 @@ class EncryptRuleConfigurationCheckerTest {
void assertCheckWhenConfigInvalidCipherColumn() {
EncryptRuleConfiguration config = createInvalidCipherColumnConfig();
RuleConfigurationChecker checker =
OrderedSPILoader.getServicesByClass(RuleConfigurationChecker.class,
Collections.singleton(config.getClass())).get(config.getClass());
- assertThrows(UnregisteredEncryptorException.class, () ->
checker.check("test", config, Collections.emptyMap(), Collections.emptyList()));
+ assertThrows(UnregisteredAlgorithmException.class, () ->
checker.check("test", config, Collections.emptyMap(), Collections.emptyList()));
}
private EncryptRuleConfiguration createInvalidCipherColumnConfig() {
@@ -76,7 +76,7 @@ class EncryptRuleConfigurationCheckerTest {
void assertCheckWhenConfigInvalidAssistColumn() {
EncryptRuleConfiguration config = createInvalidAssistColumnConfig();
RuleConfigurationChecker checker =
OrderedSPILoader.getServicesByClass(RuleConfigurationChecker.class,
Collections.singleton(config.getClass())).get(config.getClass());
- assertThrows(UnregisteredEncryptorException.class, () ->
checker.check("test", config, Collections.emptyMap(), Collections.emptyList()));
+ assertThrows(UnregisteredAlgorithmException.class, () ->
checker.check("test", config, Collections.emptyMap(), Collections.emptyList()));
}
private EncryptRuleConfiguration createInvalidAssistColumnConfig() {
@@ -94,7 +94,7 @@ class EncryptRuleConfigurationCheckerTest {
void assertCheckWhenConfigInvalidLikeColumn() {
EncryptRuleConfiguration config = createInvalidLikeColumnConfig();
RuleConfigurationChecker checker =
OrderedSPILoader.getServicesByClass(RuleConfigurationChecker.class,
Collections.singleton(config.getClass())).get(config.getClass());
- assertThrows(UnregisteredEncryptorException.class, () ->
checker.check("test", config, Collections.emptyMap(), Collections.emptyList()));
+ assertThrows(UnregisteredAlgorithmException.class, () ->
checker.check("test", config, Collections.emptyMap(), Collections.emptyList()));
}
private EncryptRuleConfiguration createInvalidLikeColumnConfig() {
diff --git
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/checker/MaskRuleConfigurationChecker.java
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/checker/MaskRuleConfigurationChecker.java
index 4a5d7c70471..d7cfda42b7e 100644
---
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/checker/MaskRuleConfigurationChecker.java
+++
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/checker/MaskRuleConfigurationChecker.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.mask.checker;
import
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfiguration;
-import
org.apache.shardingsphere.infra.algorithm.core.exception.AlgorithmNotFoundOnColumnException;
+import
org.apache.shardingsphere.infra.algorithm.core.exception.UnregisteredAlgorithmException;
import
org.apache.shardingsphere.infra.config.rule.checker.RuleConfigurationChecker;
import
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
@@ -59,7 +59,7 @@ public final class MaskRuleConfigurationChecker implements
RuleConfigurationChec
private void checkColumn(final String databaseName, final String
tableName, final MaskColumnRuleConfiguration columnRuleConfig, final
Map<String, AlgorithmConfiguration> maskAlgorithms) {
ShardingSpherePreconditions.checkState(maskAlgorithms.containsKey(columnRuleConfig.getMaskAlgorithm()),
- () -> new AlgorithmNotFoundOnColumnException("mask",
columnRuleConfig.getMaskAlgorithm(), databaseName, tableName,
columnRuleConfig.getLogicColumn()));
+ () -> new UnregisteredAlgorithmException("Mask",
columnRuleConfig.getMaskAlgorithm(), databaseName, tableName,
columnRuleConfig.getLogicColumn()));
}
@Override
diff --git
a/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/AlgorithmNotFoundOnColumnException.java
b/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/UnregisteredAlgorithmException.java
similarity index 72%
rename from
infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/AlgorithmNotFoundOnColumnException.java
rename to
infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/UnregisteredAlgorithmException.java
index de3542820cb..fce0c4a17bd 100644
---
a/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/AlgorithmNotFoundOnColumnException.java
+++
b/infra/algorithm/core/src/main/java/org/apache/shardingsphere/infra/algorithm/core/exception/UnregisteredAlgorithmException.java
@@ -21,14 +21,14 @@ import
org.apache.shardingsphere.infra.exception.core.external.sql.sqlstate.XOpe
import
org.apache.shardingsphere.infra.exception.core.external.sql.type.kernel.category.MetaDataSQLException;
/**
- * Algorithm not found on column exception.
+ * Unregistered algorithm exception.
*/
-public final class AlgorithmNotFoundOnColumnException extends
MetaDataSQLException {
+public final class UnregisteredAlgorithmException extends MetaDataSQLException
{
private static final long serialVersionUID = -4570489906443880879L;
- public AlgorithmNotFoundOnColumnException(final String algorithmType,
final String algorithmName, final String databaseName, final String tableName,
final String columnName) {
+ public UnregisteredAlgorithmException(final String algorithmType, final
String algorithmName, final String databaseName, final String tableName, final
String columnName) {
super(XOpenSQLState.NOT_FOUND, 13,
- "Can not find '%s' algorithm '%s' on database.table.column:
'%s'.'%s'.'%s'.", algorithmType, algorithmName, databaseName, tableName,
columnName);
+ "'%s' algorithm '%s' on database.table.column: '%s'.'%s'.'%s'
is unregistered.", algorithmType, algorithmName, databaseName, tableName,
columnName);
}
}