This is an automated email from the ASF dual-hosted git repository.
chengzhang 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 1d10cdd1168 Add ShardingSpherePreconditions.checkMustEmpty (#30936)
1d10cdd1168 is described below
commit 1d10cdd11683bc8c3a490c197ad7f5434a4caf36
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Apr 17 13:41:09 2024 +0800
Add ShardingSpherePreconditions.checkMustEmpty (#30936)
* Add ShardingSpherePreconditions.checkMustEmpty
* Add ShardingSpherePreconditions.checkMustEmpty
* Add ShardingSpherePreconditions.checkMustEmpty
---
.../update/CreateBroadcastTableRuleExecutor.java | 4 +-
.../update/DropBroadcastTableRuleExecutor.java | 2 +-
.../handler/update/CreateEncryptRuleExecutor.java | 4 +-
.../handler/update/DropEncryptRuleExecutor.java | 2 +-
.../GenericTableRandomReplaceAlgorithm.java | 4 +-
.../handler/update/AlterMaskRuleExecutor.java | 2 +-
.../handler/update/CreateMaskRuleExecutor.java | 2 +-
.../handler/update/DropMaskRuleExecutor.java | 2 +-
...plittingDataSourceRuleConfigurationChecker.java | 2 +-
...riteSplittingStaticDataSourceRuleAttribute.java | 3 +-
.../ReadwriteSplittingRuleStatementChecker.java | 10 ++--
.../update/DropReadwriteSplittingRuleExecutor.java | 4 +-
.../checker/ShadowRuleConfigurationChecker.java | 2 +-
.../checker/ShadowRuleStatementChecker.java | 10 ++--
.../CreateDefaultShadowAlgorithmExecutor.java | 2 +-
.../handler/update/CreateShadowRuleExecutor.java | 2 +-
...MLShardingConditionsShardingAuditAlgorithm.java | 2 +-
.../range/BoundaryBasedRangeShardingAlgorithm.java | 2 +-
.../ShardingSchemaTableAggregationReviser.java | 2 +-
.../standard/ShardingStandardRoutingEngine.java | 2 +-
.../impl/ShardingDropTableStatementValidator.java | 2 +-
.../checker/ShardingTableRuleStatementChecker.java | 8 +--
.../AlterShardingTableReferenceRuleExecutor.java | 6 +--
.../CreateShardingTableReferenceRuleExecutor.java | 6 +--
.../update/DropShardingAlgorithmExecutor.java | 5 +-
.../update/DropShardingAuditorExecutor.java | 5 +-
.../update/DropShardingKeyGeneratorExecutor.java | 4 +-
.../update/DropShardingTableReferenceExecutor.java | 4 +-
.../update/DropShardingTableRuleExecutor.java | 2 +-
.../weight/WeightLoadBalanceAlgorithm.java | 2 +-
.../statement/dml/SelectStatementContext.java | 2 +-
.../rule/checker/RuleConfigurationCheckEngine.java | 4 +-
.../database/core/type/DatabaseTypeFactory.java | 2 +-
.../rdl/resource/AlterStorageUnitExecutor.java | 6 +--
.../rdl/resource/RegisterStorageUnitExecutor.java | 4 +-
.../resource/UnregisterStorageUnitExecutor.java | 6 +--
.../DistSQLDataSourcePoolPropertiesValidator.java | 2 +-
.../core/ShardingSpherePreconditions.java | 58 ++++++++++++++++++++++
.../core/ShardingSpherePreconditionsTest.java | 47 ++++++++++++++++--
.../pipeline/cdc/handler/CDCBackendHandler.java | 4 +-
.../scenario/migration/api/MigrationJobAPI.java | 6 +--
.../handler/update/UnloadSingleTableExecutor.java | 2 +-
.../handler/update/AlterTrafficRuleExecutor.java | 2 +-
.../cluster/lock/impl/DefaultDistributedLock.java | 2 +-
.../checker/YamlProxyConfigurationChecker.java | 2 +-
.../updatable/RefreshTableMetaDataExecutor.java | 2 +-
46 files changed, 178 insertions(+), 82 deletions(-)
diff --git
a/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/update/CreateBroadcastTableRuleExecutor.java
b/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/update/CreateBroadcastTableRuleExecutor.java
index 755bb3c1f85..bb6200c68c3 100644
---
a/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/update/CreateBroadcastTableRuleExecutor.java
+++
b/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/update/CreateBroadcastTableRuleExecutor.java
@@ -43,7 +43,7 @@ public final class CreateBroadcastTableRuleExecutor
implements DatabaseRuleCreat
@Override
public void checkBeforeUpdate(final CreateBroadcastTableRuleStatement
sqlStatement) {
-
ShardingSpherePreconditions.checkState(!database.getResourceMetaData().getStorageUnits().isEmpty(),
() -> new EmptyStorageUnitException(database.getName()));
+
ShardingSpherePreconditions.checkNotEmpty(database.getResourceMetaData().getStorageUnits(),
() -> new EmptyStorageUnitException(database.getName()));
if (!sqlStatement.isIfNotExists()) {
checkDuplicate(sqlStatement);
}
@@ -51,7 +51,7 @@ public final class CreateBroadcastTableRuleExecutor
implements DatabaseRuleCreat
private void checkDuplicate(final CreateBroadcastTableRuleStatement
sqlStatement) {
Collection<String> duplicatedRuleNames =
getDuplicatedRuleNames(sqlStatement);
- ShardingSpherePreconditions.checkState(duplicatedRuleNames.isEmpty(),
() -> new DuplicateRuleException("Broadcast", sqlStatement.getTables()));
+ ShardingSpherePreconditions.checkMustEmpty(duplicatedRuleNames, () ->
new DuplicateRuleException("Broadcast", sqlStatement.getTables()));
}
private Collection<String> getDuplicatedRuleNames(final
CreateBroadcastTableRuleStatement sqlStatement) {
diff --git
a/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/update/DropBroadcastTableRuleExecutor.java
b/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/update/DropBroadcastTableRuleExecutor.java
index c2fde17d87f..8fe86869411 100644
---
a/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/update/DropBroadcastTableRuleExecutor.java
+++
b/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/update/DropBroadcastTableRuleExecutor.java
@@ -54,7 +54,7 @@ public final class DropBroadcastTableRuleExecutor implements
DatabaseRuleDropExe
private void checkBroadcastTableRuleExist(final
DropBroadcastTableRuleStatement sqlStatement) {
Collection<String> currentRules = new
CaseInsensitiveSet<>(rule.getConfiguration().getTables());
Collection<String> notExistedRules =
sqlStatement.getTables().stream().filter(each ->
!currentRules.contains(each)).collect(Collectors.toList());
- ShardingSpherePreconditions.checkState(notExistedRules.isEmpty(), ()
-> new MissingRequiredRuleException("Broadcast", database.getName(),
notExistedRules));
+ ShardingSpherePreconditions.checkMustEmpty(notExistedRules, () -> new
MissingRequiredRuleException("Broadcast", database.getName(), notExistedRules));
}
@Override
diff --git
a/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/CreateEncryptRuleExecutor.java
b/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/CreateEncryptRuleExecutor.java
index d6174110b87..a365dd513db 100644
---
a/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/CreateEncryptRuleExecutor.java
+++
b/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/CreateEncryptRuleExecutor.java
@@ -65,7 +65,7 @@ public final class CreateEncryptRuleExecutor implements
DatabaseRuleCreateExecut
private void checkDuplicateRuleNames(final CreateEncryptRuleStatement
sqlStatement) {
Collection<String> duplicatedRuleNames =
getDuplicatedRuleNames(sqlStatement);
- ShardingSpherePreconditions.checkState(duplicatedRuleNames.isEmpty(),
() -> new DuplicateRuleException("encrypt", database.getName(),
duplicatedRuleNames));
+ ShardingSpherePreconditions.checkMustEmpty(duplicatedRuleNames, () ->
new DuplicateRuleException("encrypt", database.getName(), duplicatedRuleNames));
}
private Collection<String> getDuplicatedRuleNames(final
CreateEncryptRuleStatement sqlStatement) {
@@ -138,7 +138,7 @@ public final class CreateEncryptRuleExecutor implements
DatabaseRuleCreateExecut
}
private void checkDataSources() {
-
ShardingSpherePreconditions.checkState(!database.getResourceMetaData().getStorageUnits().isEmpty(),
() -> new EmptyStorageUnitException(database.getName()));
+
ShardingSpherePreconditions.checkNotEmpty(database.getResourceMetaData().getStorageUnits(),
() -> new EmptyStorageUnitException(database.getName()));
}
@Override
diff --git
a/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/DropEncryptRuleExecutor.java
b/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/DropEncryptRuleExecutor.java
index af1e77bbdfe..2dd08b26887 100644
---
a/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/DropEncryptRuleExecutor.java
+++
b/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/DropEncryptRuleExecutor.java
@@ -59,7 +59,7 @@ public final class DropEncryptRuleExecutor implements
DatabaseRuleDropExecutor<D
Collection<String> currentEncryptTableNames =
rule.getConfiguration().getTables()
.stream().map(EncryptTableRuleConfiguration::getName).collect(Collectors.toList());
Collection<String> notExistedTableNames =
sqlStatement.getTables().stream().filter(each ->
!currentEncryptTableNames.contains(each)).collect(Collectors.toList());
- ShardingSpherePreconditions.checkState(notExistedTableNames.isEmpty(),
() -> new MissingRequiredRuleException("Encrypt", database.getName(),
notExistedTableNames));
+ ShardingSpherePreconditions.checkMustEmpty(notExistedTableNames, () ->
new MissingRequiredRuleException("Encrypt", database.getName(),
notExistedTableNames));
}
@Override
diff --git
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/replace/GenericTableRandomReplaceAlgorithm.java
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/replace/GenericTableRandomReplaceAlgorithm.java
index 768c1a4a428..0e14b329a44 100644
---
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/replace/GenericTableRandomReplaceAlgorithm.java
+++
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/algorithm/replace/GenericTableRandomReplaceAlgorithm.java
@@ -65,9 +65,9 @@ public final class GenericTableRandomReplaceAlgorithm
implements MaskAlgorithm<O
uppercaseLetterCodes =
splitPropsToList(props.getProperty(UPPERCASE_LETTER_CODES,
DEFAULT_UPPERCASE_LETTER_CODES));
lowercaseLetterCodes =
splitPropsToList(props.getProperty(LOWERCASE_LETTER_CODES,
DEFAULT_LOWERCASE_LETTER_CODES));
digitalCodes = splitPropsToList(props.getProperty(DIGITAL_CODES,
DEFAULT_DIGITAL_CODES));
- ShardingSpherePreconditions.checkState(!digitalCodes.isEmpty(), () ->
new AlgorithmInitializationException(this, "'%s' must be not empty",
DIGITAL_CODES));
+ ShardingSpherePreconditions.checkNotEmpty(digitalCodes, () -> new
AlgorithmInitializationException(this, "'%s' must be not empty",
DIGITAL_CODES));
specialCodes = splitPropsToList(props.getProperty(SPECIAL_CODES,
DEFAULT_SPECIAL_CODES));
- ShardingSpherePreconditions.checkState(!specialCodes.isEmpty(), () ->
new AlgorithmInitializationException(this, "'%s' must be not empty",
SPECIAL_CODES));
+ ShardingSpherePreconditions.checkNotEmpty(specialCodes, () -> new
AlgorithmInitializationException(this, "'%s' must be not empty",
SPECIAL_CODES));
}
private List<Character> splitPropsToList(final String props) {
diff --git
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/AlterMaskRuleExecutor.java
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/AlterMaskRuleExecutor.java
index 1e382fc6c44..edb7e8fda72 100644
---
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/AlterMaskRuleExecutor.java
+++
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/AlterMaskRuleExecutor.java
@@ -57,7 +57,7 @@ public final class AlterMaskRuleExecutor implements
DatabaseRuleAlterExecutor<Al
private void checkToBeAlteredRules(final AlterMaskRuleStatement
sqlStatement) {
Collection<String> currentMaskTableNames =
rule.getConfiguration().getTables().stream().map(MaskTableRuleConfiguration::getName).collect(Collectors.toList());
Collection<String> notExistedMaskTableNames =
getToBeAlteredMaskTableNames(sqlStatement).stream().filter(each ->
!currentMaskTableNames.contains(each)).collect(Collectors.toList());
-
ShardingSpherePreconditions.checkState(notExistedMaskTableNames.isEmpty(), ()
-> new MissingRequiredRuleException("Mask", database.getName(),
notExistedMaskTableNames));
+ ShardingSpherePreconditions.checkMustEmpty(notExistedMaskTableNames,
() -> new MissingRequiredRuleException("Mask", database.getName(),
notExistedMaskTableNames));
}
private Collection<String> getToBeAlteredMaskTableNames(final
AlterMaskRuleStatement sqlStatement) {
diff --git
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/CreateMaskRuleExecutor.java
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/CreateMaskRuleExecutor.java
index bfd2f98248d..f04fe76acbc 100644
---
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/CreateMaskRuleExecutor.java
+++
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/CreateMaskRuleExecutor.java
@@ -61,7 +61,7 @@ public final class CreateMaskRuleExecutor implements
DatabaseRuleCreateExecutor<
if (null != rule) {
Collection<String> currentRuleNames =
rule.getConfiguration().getTables().stream().map(MaskTableRuleConfiguration::getName).collect(Collectors.toList());
Collection<String> duplicatedRuleNames =
sqlStatement.getRules().stream().map(MaskRuleSegment::getTableName).filter(currentRuleNames::contains).collect(Collectors.toList());
-
ShardingSpherePreconditions.checkState(duplicatedRuleNames.isEmpty(), () -> new
DuplicateRuleException("mask", database.getName(), duplicatedRuleNames));
+ ShardingSpherePreconditions.checkMustEmpty(duplicatedRuleNames, ()
-> new DuplicateRuleException("mask", database.getName(), duplicatedRuleNames));
}
}
diff --git
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/DropMaskRuleExecutor.java
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/DropMaskRuleExecutor.java
index 8400f35b6d0..a3217d79056 100644
---
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/DropMaskRuleExecutor.java
+++
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/DropMaskRuleExecutor.java
@@ -59,7 +59,7 @@ public final class DropMaskRuleExecutor implements
DatabaseRuleDropExecutor<Drop
private void checkToBeDroppedMaskTableNames(final DropMaskRuleStatement
sqlStatement) {
Collection<String> currentMaskTableNames =
rule.getConfiguration().getTables().stream().map(MaskTableRuleConfiguration::getName).collect(Collectors.toList());
Collection<String> notExistedTableNames =
sqlStatement.getTables().stream().filter(each ->
!currentMaskTableNames.contains(each)).collect(Collectors.toList());
- ShardingSpherePreconditions.checkState(notExistedTableNames.isEmpty(),
() -> new MissingRequiredRuleException("Mask", database.getName(),
notExistedTableNames));
+ ShardingSpherePreconditions.checkMustEmpty(notExistedTableNames, () ->
new MissingRequiredRuleException("Mask", database.getName(),
notExistedTableNames));
}
@Override
diff --git
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/checker/ReadwriteSplittingDataSourceRuleConfigurationChecker.java
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/checker/ReadwriteSplittingDataSourceRuleConfigurationChecker.java
index 24be73fde69..ca9d4b68a1f 100644
---
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/checker/ReadwriteSplittingDataSourceRuleConfigurationChecker.java
+++
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/checker/ReadwriteSplittingDataSourceRuleConfigurationChecker.java
@@ -64,7 +64,7 @@ public final class
ReadwriteSplittingDataSourceRuleConfigurationChecker {
ShardingSpherePreconditions.checkNotEmpty(config.getName(), () -> new
MissingRequiredReadwriteSplittingDataSourceRuleNameException(databaseName));
ShardingSpherePreconditions.checkNotEmpty(config.getWriteDataSourceName(),
() -> new
MissingRequiredReadwriteSplittingActualDataSourceException(ReadwriteSplittingDataSourceType.WRITE,
exceptionIdentifier));
-
ShardingSpherePreconditions.checkState(!config.getReadDataSourceNames().isEmpty(),
+
ShardingSpherePreconditions.checkNotEmpty(config.getReadDataSourceNames(),
() -> new
MissingRequiredReadwriteSplittingActualDataSourceException(ReadwriteSplittingDataSourceType.READ,
exceptionIdentifier));
checkActualSourceNames(ReadwriteSplittingDataSourceType.WRITE,
config.getWriteDataSourceName(), builtWriteDataSourceNames, builtRules);
config.getReadDataSourceNames().forEach(each ->
checkActualSourceNames(ReadwriteSplittingDataSourceType.READ, each,
builtReadDataSourceNames, builtRules));
diff --git
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/attribute/ReadwriteSplittingStaticDataSourceRuleAttribute.java
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/attribute/ReadwriteSplittingStaticDataSourceRuleAttribute.java
index c49b99d50bd..fe08d57fcc3 100644
---
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/attribute/ReadwriteSplittingStaticDataSourceRuleAttribute.java
+++
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/attribute/ReadwriteSplittingStaticDataSourceRuleAttribute.java
@@ -60,8 +60,7 @@ public final class
ReadwriteSplittingStaticDataSourceRuleAttribute implements St
StorageNodeDataSourceChangedEvent dataSourceEvent =
(StorageNodeDataSourceChangedEvent) event;
QualifiedDatabase qualifiedDatabase =
dataSourceEvent.getQualifiedDatabase();
ReadwriteSplittingDataSourceRule dataSourceRule =
dataSourceRules.get(qualifiedDatabase.getGroupName());
- ShardingSpherePreconditions.checkNotNull(dataSourceRule,
- () -> new
ReadwriteSplittingDataSourceRuleNotFoundException(qualifiedDatabase.getGroupName(),
qualifiedDatabase.getDatabaseName()));
+ ShardingSpherePreconditions.checkNotNull(dataSourceRule, () -> new
ReadwriteSplittingDataSourceRuleNotFoundException(qualifiedDatabase.getGroupName(),
qualifiedDatabase.getDatabaseName()));
if (DataSourceState.DISABLED ==
dataSourceEvent.getDataSource().getStatus()) {
dataSourceRule.disableDataSource(dataSourceEvent.getQualifiedDatabase().getDataSourceName());
} else {
diff --git
a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/checker/ReadwriteSplittingRuleStatementChecker.java
b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/checker/ReadwriteSplittingRuleStatementChecker.java
index de1a4550a0a..93db4765d07 100644
---
a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/checker/ReadwriteSplittingRuleStatementChecker.java
+++
b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/checker/ReadwriteSplittingRuleStatementChecker.java
@@ -94,7 +94,7 @@ public final class ReadwriteSplittingRuleStatementChecker {
Collection<String> requiredRuleNames =
segments.stream().map(ReadwriteSplittingRuleSegment::getName).collect(Collectors.toList());
Collection<String> currentRuleNames =
currentRuleConfig.getDataSources().stream().map(ReadwriteSplittingDataSourceRuleConfiguration::getName).collect(Collectors.toList());
Collection<String> notExistedRuleNames =
requiredRuleNames.stream().filter(each ->
!currentRuleNames.contains(each)).collect(Collectors.toSet());
- ShardingSpherePreconditions.checkState(notExistedRuleNames.isEmpty(),
() -> new MissingRequiredRuleException("Readwrite-splitting", databaseName,
notExistedRuleNames));
+ ShardingSpherePreconditions.checkMustEmpty(notExistedRuleNames, () ->
new MissingRequiredRuleException("Readwrite-splitting", databaseName,
notExistedRuleNames));
}
private static void checkDuplicateRuleNames(final ShardingSphereDatabase
database,
@@ -108,7 +108,7 @@ public final class ReadwriteSplittingRuleStatementChecker {
private static void checkDuplicateRuleNamesWithSelf(final String
databaseName, final Collection<ReadwriteSplittingRuleSegment> segments) {
Collection<String> duplicatedRuleNames =
getDuplicated(segments.stream().map(ReadwriteSplittingRuleSegment::getName).collect(Collectors.toList()));
- ShardingSpherePreconditions.checkState(duplicatedRuleNames.isEmpty(),
() -> new DuplicateRuleException("Readwrite-splitting", databaseName,
duplicatedRuleNames));
+ ShardingSpherePreconditions.checkMustEmpty(duplicatedRuleNames, () ->
new DuplicateRuleException("Readwrite-splitting", databaseName,
duplicatedRuleNames));
}
private static Collection<String> getDuplicated(final Collection<String>
required) {
@@ -124,7 +124,7 @@ public final class ReadwriteSplittingRuleStatementChecker {
}
currentRuleNames.addAll(getLogicDataSources(database));
Collection<String> toBeCreatedRuleNames =
segments.stream().map(ReadwriteSplittingRuleSegment::getName).filter(currentRuleNames::contains).collect(Collectors.toList());
- ShardingSpherePreconditions.checkState(toBeCreatedRuleNames.isEmpty(),
() -> new InvalidRuleConfigurationException("Readwrite-splitting",
toBeCreatedRuleNames,
+ ShardingSpherePreconditions.checkMustEmpty(toBeCreatedRuleNames, () ->
new InvalidRuleConfigurationException("Readwrite-splitting",
toBeCreatedRuleNames,
Collections.singleton(String.format("%s already exists in
storage unit", toBeCreatedRuleNames))));
}
@@ -135,7 +135,7 @@ public final class ReadwriteSplittingRuleStatementChecker {
currentRuleNames.addAll(currentRuleConfig.getDataSources().stream().map(ReadwriteSplittingDataSourceRuleConfiguration::getName).collect(Collectors.toList()));
}
Collection<String> toBeCreatedRuleNames =
segments.stream().map(ReadwriteSplittingRuleSegment::getName).filter(currentRuleNames::contains).collect(Collectors.toList());
- ShardingSpherePreconditions.checkState(toBeCreatedRuleNames.isEmpty(),
() -> new DuplicateRuleException("Readwrite-splitting", databaseName,
toBeCreatedRuleNames));
+ ShardingSpherePreconditions.checkMustEmpty(toBeCreatedRuleNames, () ->
new DuplicateRuleException("Readwrite-splitting", databaseName,
toBeCreatedRuleNames));
}
private static void checkDataSourcesExist(final String databaseName, final
Collection<ReadwriteSplittingRuleSegment> segments, final
ShardingSphereDatabase database) {
@@ -145,7 +145,7 @@ public final class ReadwriteSplittingRuleStatementChecker {
requiredDataSources.addAll(each.getReadDataSources());
});
Collection<String> notExistedDataSources =
database.getResourceMetaData().getNotExistedDataSources(requiredDataSources);
-
ShardingSpherePreconditions.checkState(notExistedDataSources.isEmpty(), () ->
new MissingRequiredStorageUnitsException(databaseName, notExistedDataSources));
+ ShardingSpherePreconditions.checkMustEmpty(notExistedDataSources, ()
-> new MissingRequiredStorageUnitsException(databaseName,
notExistedDataSources));
}
private static Collection<String> getLogicDataSources(final
ShardingSphereDatabase database) {
diff --git
a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/DropReadwriteSplittingRuleExecutor.java
b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/DropReadwriteSplittingRuleExecutor.java
index 7b0184607fa..27707758a80 100644
---
a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/DropReadwriteSplittingRuleExecutor.java
+++
b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/DropReadwriteSplittingRuleExecutor.java
@@ -66,13 +66,13 @@ public final class DropReadwriteSplittingRuleExecutor
implements DatabaseRuleDro
private void checkToBeDroppedRuleNames(final
DropReadwriteSplittingRuleStatement sqlStatement) {
Collection<String> currentRuleNames =
rule.getConfiguration().getDataSources().stream().map(ReadwriteSplittingDataSourceRuleConfiguration::getName).collect(Collectors.toList());
Collection<String> notExistedRuleNames =
sqlStatement.getNames().stream().filter(each ->
!currentRuleNames.contains(each)).collect(Collectors.toList());
- ShardingSpherePreconditions.checkState(notExistedRuleNames.isEmpty(),
() -> new MissingRequiredRuleException("Readwrite-splitting",
database.getName(), sqlStatement.getNames()));
+ ShardingSpherePreconditions.checkMustEmpty(notExistedRuleNames, () ->
new MissingRequiredRuleException("Readwrite-splitting", database.getName(),
sqlStatement.getNames()));
}
private void checkToBeDroppedInUsed(final
DropReadwriteSplittingRuleStatement sqlStatement) {
Collection<String> resourceBeUsed = getInUsedResources();
Collection<String> ruleInUsed =
sqlStatement.getNames().stream().filter(resourceBeUsed::contains).collect(Collectors.toSet());
- ShardingSpherePreconditions.checkState(ruleInUsed.isEmpty(), () -> new
InUsedRuleException("Readwrite-splitting", database.getName(), ruleInUsed));
+ ShardingSpherePreconditions.checkMustEmpty(ruleInUsed, () -> new
InUsedRuleException("Readwrite-splitting", database.getName(), ruleInUsed));
}
private Collection<String> getInUsedResources() {
diff --git
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/checker/ShadowRuleConfigurationChecker.java
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/checker/ShadowRuleConfigurationChecker.java
index 44163f69f3f..4909310645e 100644
---
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/checker/ShadowRuleConfigurationChecker.java
+++
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/checker/ShadowRuleConfigurationChecker.java
@@ -83,7 +83,7 @@ public final class ShadowRuleConfigurationChecker implements
RuleConfigurationCh
private void checkShadowTableAlgorithmsReferences(final Map<String,
ShadowTableConfiguration> shadowTables, final Map<String,
AlgorithmConfiguration> shadowAlgorithms, final String databaseName) {
for (ShadowTableConfiguration each : shadowTables.values()) {
-
ShardingSpherePreconditions.checkState(!each.getShadowAlgorithmNames().isEmpty(),
() -> new EmptyAlgorithmException("Shadow", new
SQLExceptionIdentifier(databaseName)));
+
ShardingSpherePreconditions.checkNotEmpty(each.getShadowAlgorithmNames(), () ->
new EmptyAlgorithmException("Shadow", new
SQLExceptionIdentifier(databaseName)));
each.getShadowAlgorithmNames().forEach(shadowAlgorithmName ->
ShardingSpherePreconditions.checkState(shadowAlgorithms.containsKey(shadowAlgorithmName),
() -> new EmptyAlgorithmException("Shadow", new
SQLExceptionIdentifier(databaseName))));
}
diff --git
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/checker/ShadowRuleStatementChecker.java
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/checker/ShadowRuleStatementChecker.java
index 511892a9179..8c710067037 100644
---
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/checker/ShadowRuleStatementChecker.java
+++
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/checker/ShadowRuleStatementChecker.java
@@ -47,7 +47,7 @@ public final class ShadowRuleStatementChecker {
*/
public static void checkStorageUnitsExist(final Collection<String>
requiredStorageUnits, final ShardingSphereDatabase database) {
Collection<String> notExistedStorageUnits =
database.getResourceMetaData().getNotExistedDataSources(requiredStorageUnits);
-
ShardingSpherePreconditions.checkState(notExistedStorageUnits.isEmpty(), () ->
new MissingRequiredStorageUnitsException(database.getName(),
notExistedStorageUnits));
+ ShardingSpherePreconditions.checkMustEmpty(notExistedStorageUnits, ()
-> new MissingRequiredStorageUnitsException(database.getName(),
notExistedStorageUnits));
}
/**
@@ -58,7 +58,7 @@ public final class ShadowRuleStatementChecker {
*/
public static void checkDuplicated(final Collection<String> rules, final
Function<Collection<String>, KernelSQLException> thrower) {
Collection<String> duplicated = getDuplicated(rules);
- ShardingSpherePreconditions.checkState(duplicated.isEmpty(), () ->
thrower.apply(duplicated));
+ ShardingSpherePreconditions.checkMustEmpty(duplicated, () ->
thrower.apply(duplicated));
}
/**
@@ -70,7 +70,7 @@ public final class ShadowRuleStatementChecker {
*/
public static void checkDuplicated(final Collection<String> requiredRules,
final Collection<String> currentRules, final Function<Collection<String>,
KernelSQLException> thrower) {
Collection<String> duplicated = getDuplicated(requiredRules,
currentRules);
- ShardingSpherePreconditions.checkState(duplicated.isEmpty(), () ->
thrower.apply(duplicated));
+ ShardingSpherePreconditions.checkMustEmpty(duplicated, () ->
thrower.apply(duplicated));
}
/**
@@ -82,7 +82,7 @@ public final class ShadowRuleStatementChecker {
*/
public static void checkExisted(final Collection<String> requiredRules,
final Collection<String> currentRules, final Function<Collection<String>,
KernelSQLException> thrower) {
Collection<String> notExisted = getNotExisted(requiredRules,
currentRules);
- ShardingSpherePreconditions.checkState(notExisted.isEmpty(), () ->
thrower.apply(notExisted));
+ ShardingSpherePreconditions.checkMustEmpty(notExisted, () ->
thrower.apply(notExisted));
}
private static Collection<String> getDuplicated(final Collection<String>
names) {
@@ -108,7 +108,7 @@ public final class ShadowRuleStatementChecker {
Collection<String> logicDataSources = getLogicDataSources(database);
if (!logicDataSources.isEmpty()) {
Collection<String> duplicatedNames =
toBeCreatedRuleNames.stream().filter(logicDataSources::contains).collect(Collectors.toList());
- ShardingSpherePreconditions.checkState(duplicatedNames.isEmpty(),
() -> new InvalidRuleConfigurationException("shadow", duplicatedNames,
+ ShardingSpherePreconditions.checkMustEmpty(duplicatedNames, () ->
new InvalidRuleConfigurationException("shadow", duplicatedNames,
Collections.singleton(String.format("%s already exists in
storage unit", duplicatedNames))));
}
}
diff --git
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateDefaultShadowAlgorithmExecutor.java
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateDefaultShadowAlgorithmExecutor.java
index 9c3529067f6..8e3e6b6c27d 100644
---
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateDefaultShadowAlgorithmExecutor.java
+++
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateDefaultShadowAlgorithmExecutor.java
@@ -60,7 +60,7 @@ public final class CreateDefaultShadowAlgorithmExecutor
implements DatabaseRuleC
}
private void checkAlgorithmCompleteness(final
CreateDefaultShadowAlgorithmStatement sqlStatement) {
-
ShardingSpherePreconditions.checkState(!sqlStatement.getShadowAlgorithmSegment().getAlgorithmSegment().getName().isEmpty(),
+
ShardingSpherePreconditions.checkNotEmpty(sqlStatement.getShadowAlgorithmSegment().getAlgorithmSegment().getName(),
() -> new EmptyAlgorithmException("Shadow", new
SQLExceptionIdentifier(database.getName())));
}
diff --git
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateShadowRuleExecutor.java
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateShadowRuleExecutor.java
index e0066e7d95a..fc12244238c 100644
---
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateShadowRuleExecutor.java
+++
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/update/CreateShadowRuleExecutor.java
@@ -59,7 +59,7 @@ public final class CreateShadowRuleExecutor implements
DatabaseRuleCreateExecuto
ShadowRuleStatementChecker.checkDuplicatedWithLogicDataSource(toBeCreatedRuleNames,
database);
if (!sqlStatement.isIfNotExists()) {
toBeCreatedRuleNames.retainAll(ShadowRuleStatementSupporter.getRuleNames(null
== rule ? null : rule.getConfiguration()));
-
ShardingSpherePreconditions.checkState(toBeCreatedRuleNames.isEmpty(), () ->
new DuplicateRuleException("shadow", database.getName(), toBeCreatedRuleNames));
+ ShardingSpherePreconditions.checkMustEmpty(toBeCreatedRuleNames,
() -> new DuplicateRuleException("shadow", database.getName(),
toBeCreatedRuleNames));
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/audit/DMLShardingConditionsShardingAuditAlgorithm.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/audit/DMLShardingConditionsShardingAuditAlgorithm.java
index e35d11bb651..c29475bf104 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/audit/DMLShardingConditionsShardingAuditAlgorithm.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/audit/DMLShardingConditionsShardingAuditAlgorithm.java
@@ -41,7 +41,7 @@ public final class
DMLShardingConditionsShardingAuditAlgorithm implements Shardi
if (sqlStatementContext.getSqlStatement() instanceof DMLStatement) {
ShardingRule rule =
database.getRuleMetaData().getSingleRule(ShardingRule.class);
if
(sqlStatementContext.getTablesContext().getTableNames().stream().anyMatch(rule::isShardingTable))
{
- ShardingSpherePreconditions.checkState(!new
ShardingConditionEngine(globalRuleMetaData, database,
rule).createShardingConditions(sqlStatementContext, params).isEmpty(),
+ ShardingSpherePreconditions.checkNotEmpty(new
ShardingConditionEngine(globalRuleMetaData, database,
rule).createShardingConditions(sqlStatementContext, params),
DMLWithoutShardingKeyException::new);
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/range/BoundaryBasedRangeShardingAlgorithm.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/range/BoundaryBasedRangeShardingAlgorithm.java
index 53949406561..9adcdacb994 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/range/BoundaryBasedRangeShardingAlgorithm.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/range/BoundaryBasedRangeShardingAlgorithm.java
@@ -41,7 +41,7 @@ public final class BoundaryBasedRangeShardingAlgorithm
extends AbstractRangeShar
ShardingSpherePreconditions.checkState(props.containsKey(SHARDING_RANGES_KEY),
() -> new AlgorithmInitializationException(this, "Sharding ranges cannot be
null."));
List<Long> partitionRanges =
Splitter.on(",").trimResults().splitToList(props.getProperty(SHARDING_RANGES_KEY)).stream()
.map(this::parseLong).filter(Objects::nonNull).sorted().collect(Collectors.toList());
- ShardingSpherePreconditions.checkState(!partitionRanges.isEmpty(), ()
-> new AlgorithmInitializationException(this, "Sharding ranges can not be
empty."));
+ ShardingSpherePreconditions.checkNotEmpty(partitionRanges, () -> new
AlgorithmInitializationException(this, "Sharding ranges can not be empty."));
Map<Integer, Range<Comparable<?>>> result = new
HashMap<>(partitionRanges.size() + 1, 1F);
for (int i = 0; i < partitionRanges.size(); i++) {
Long rangeValue = partitionRanges.get(i);
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/reviser/schema/ShardingSchemaTableAggregationReviser.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/reviser/schema/ShardingSchemaTableAggregationReviser.java
index 6013e825c3f..ebcfe4a8951 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/reviser/schema/ShardingSchemaTableAggregationReviser.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/reviser/schema/ShardingSchemaTableAggregationReviser.java
@@ -63,7 +63,7 @@ public final class ShardingSchemaTableAggregationReviser
implements SchemaTableA
TableMetaData sample = tableMetaDataList.iterator().next();
Collection<TableMetaDataViolation> violations =
tableMetaDataList.stream()
.filter(each -> !sample.equals(each)).map(each -> new
TableMetaDataViolation(each.getName(), each)).collect(Collectors.toList());
- ShardingSpherePreconditions.checkState(violations.isEmpty(), () -> new
RuleAndStorageMetaDataMismatchedException(createErrorReason(logicTableName,
violations)));
+ ShardingSpherePreconditions.checkMustEmpty(violations, () -> new
RuleAndStorageMetaDataMismatchedException(createErrorReason(logicTableName,
violations)));
}
private String createErrorReason(final String logicTableName, final
Collection<TableMetaDataViolation> violations) {
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/standard/ShardingStandardRoutingEngine.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/standard/ShardingStandardRoutingEngine.java
index f41bf804e68..3700fe51696 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/standard/ShardingStandardRoutingEngine.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/standard/ShardingStandardRoutingEngine.java
@@ -260,7 +260,7 @@ public final class ShardingStandardRoutingEngine implements
ShardingRouteEngine
return shardingTable.getActualDataSourceNames();
}
Collection<String> result =
databaseShardingStrategy.doSharding(shardingTable.getActualDataSourceNames(),
databaseShardingValues, shardingTable.getDataSourceDataNode(), props);
- ShardingSpherePreconditions.checkState(!result.isEmpty(),
NoShardingDatabaseRouteInfoException::new);
+ ShardingSpherePreconditions.checkNotEmpty(result,
NoShardingDatabaseRouteInfoException::new);
ShardingSpherePreconditions.checkState(shardingTable.getActualDataSourceNames().containsAll(result),
() -> new
MismatchedShardingDataSourceRouteInfoException(result,
shardingTable.getActualDataSourceNames()));
return result;
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingDropTableStatementValidator.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingDropTableStatementValidator.java
index 50974a09bc9..07e2e59c635 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingDropTableStatementValidator.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingDropTableStatementValidator.java
@@ -85,6 +85,6 @@ public final class ShardingDropTableStatementValidator
extends ShardingDDLStatem
// TODO check actual tables not be used in multi rules, and remove
this check logic
Set<String> actualTables =
routeContext.getRouteUnits().stream().flatMap(each ->
each.getTableMappers().stream().map(RouteMapper::getActualName)).collect(Collectors.toSet());
Collection<String> inUsedTables =
actualTables.stream().filter(otherRuleActualTables::contains).collect(Collectors.toList());
- ShardingSpherePreconditions.checkState(inUsedTables.isEmpty(), () ->
new InUsedTablesException(inUsedTables));
+ ShardingSpherePreconditions.checkMustEmpty(inUsedTables, () -> new
InUsedTablesException(inUsedTables));
}
}
diff --git
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/checker/ShardingTableRuleStatementChecker.java
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/checker/ShardingTableRuleStatementChecker.java
index 7d46e04056a..6a3341d9362 100644
---
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/checker/ShardingTableRuleStatementChecker.java
+++
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/checker/ShardingTableRuleStatementChecker.java
@@ -314,7 +314,7 @@ public final class ShardingTableRuleStatementChecker {
Collection<String> notExistedDataSources =
database.getResourceMetaData().getNotExistedDataSources(requiredDataSource);
Collection<String> logicDataSources = getLogicDataSources(database);
notExistedDataSources.removeIf(logicDataSources::contains);
-
ShardingSpherePreconditions.checkState(notExistedDataSources.isEmpty(), () ->
new MissingRequiredStorageUnitsException(databaseName, notExistedDataSources));
+ ShardingSpherePreconditions.checkMustEmpty(notExistedDataSources, ()
-> new MissingRequiredStorageUnitsException(databaseName,
notExistedDataSources));
}
private static Collection<String> getRequiredDataSources(final
ShardingRuleConfiguration config) {
@@ -347,16 +347,16 @@ public final class ShardingTableRuleStatementChecker {
final boolean ifNotExists) {
Collection<String> requiredTables =
rules.stream().map(AbstractTableRuleSegment::getLogicTable).collect(Collectors.toList());
Collection<String> duplicatedRuleNames =
getDuplicatedRuleNames(requiredTables);
- ShardingSpherePreconditions.checkState(duplicatedRuleNames.isEmpty(),
() -> new DuplicateRuleException("sharding", databaseName,
duplicatedRuleNames));
+ ShardingSpherePreconditions.checkMustEmpty(duplicatedRuleNames, () ->
new DuplicateRuleException("sharding", databaseName, duplicatedRuleNames));
Collection<String> currentShardingTables = null == currentRuleConfig ?
Collections.emptyList() : getCurrentShardingTables(currentRuleConfig);
if (isCreate) {
if (!ifNotExists) {
duplicatedRuleNames.addAll(getDuplicatedRuleNames(requiredTables,
currentShardingTables));
-
ShardingSpherePreconditions.checkState(duplicatedRuleNames.isEmpty(), () -> new
DuplicateRuleException("sharding", databaseName, duplicatedRuleNames));
+
ShardingSpherePreconditions.checkMustEmpty(duplicatedRuleNames, () -> new
DuplicateRuleException("sharding", databaseName, duplicatedRuleNames));
}
} else {
Collection<String> notExistedRules =
getNotExistedRules(requiredTables, currentShardingTables);
- ShardingSpherePreconditions.checkState(notExistedRules.isEmpty(),
() -> new MissingRequiredRuleException("sharding", databaseName,
notExistedRules));
+ ShardingSpherePreconditions.checkMustEmpty(notExistedRules, () ->
new MissingRequiredRuleException("sharding", databaseName, notExistedRules));
}
}
diff --git
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/AlterShardingTableReferenceRuleExecutor.java
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/AlterShardingTableReferenceRuleExecutor.java
index e3d31a49a38..67bf1de9113 100644
---
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/AlterShardingTableReferenceRuleExecutor.java
+++
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/AlterShardingTableReferenceRuleExecutor.java
@@ -63,13 +63,13 @@ public final class AlterShardingTableReferenceRuleExecutor
implements DatabaseRu
private void checkToBeAlteredRulesExisted(final
AlterShardingTableReferenceRuleStatement sqlStatement) {
Collection<String> currentRuleNames =
rule.getConfiguration().getBindingTableGroups().stream().map(ShardingTableReferenceRuleConfiguration::getName).collect(Collectors.toSet());
Collection<String> notExistedRuleNames =
sqlStatement.getRules().stream().map(TableReferenceRuleSegment::getName).filter(each
-> !currentRuleNames.contains(each)).collect(Collectors.toSet());
- ShardingSpherePreconditions.checkState(notExistedRuleNames.isEmpty(),
() -> new MissingRequiredRuleException("Sharding table reference",
database.getName(), notExistedRuleNames));
+ ShardingSpherePreconditions.checkMustEmpty(notExistedRuleNames, () ->
new MissingRequiredRuleException("Sharding table reference",
database.getName(), notExistedRuleNames));
}
private void checkDuplicatedTablesInShardingTableReferenceRules(final
AlterShardingTableReferenceRuleStatement sqlStatement) {
Collection<String> currentReferencedTableNames =
getReferencedTableNames(getToBeAlteredRuleNames(sqlStatement));
Collection<String> duplicatedTableNames =
sqlStatement.getTableNames().stream().filter(currentReferencedTableNames::contains).collect(Collectors.toSet());
- ShardingSpherePreconditions.checkState(duplicatedTableNames.isEmpty(),
() -> new DuplicateRuleException("sharding table reference",
database.getName(), duplicatedTableNames));
+ ShardingSpherePreconditions.checkMustEmpty(duplicatedTableNames, () ->
new DuplicateRuleException("sharding table reference", database.getName(),
duplicatedTableNames));
}
private Collection<String> getReferencedTableNames(final
Collection<String> getToBeAlteredRuleNames) {
@@ -89,7 +89,7 @@ public final class AlterShardingTableReferenceRuleExecutor
implements DatabaseRu
private void checkToBeReferencedShardingTablesExisted(final
AlterShardingTableReferenceRuleStatement sqlStatement) {
Collection<String> currentShardingTableNames =
getCurrentShardingTableNames();
Collection<String> notExistedTableNames =
sqlStatement.getTableNames().stream().filter(each ->
!currentShardingTableNames.contains(each)).collect(Collectors.toSet());
- ShardingSpherePreconditions.checkState(notExistedTableNames.isEmpty(),
() -> new MissingRequiredRuleException("Sharding", database.getName(),
notExistedTableNames));
+ ShardingSpherePreconditions.checkMustEmpty(notExistedTableNames, () ->
new MissingRequiredRuleException("Sharding", database.getName(),
notExistedTableNames));
}
private Collection<String> getCurrentShardingTableNames() {
diff --git
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingTableReferenceRuleExecutor.java
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingTableReferenceRuleExecutor.java
index 628a9967b63..5cbe9562619 100644
---
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingTableReferenceRuleExecutor.java
+++
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/CreateShardingTableReferenceRuleExecutor.java
@@ -63,19 +63,19 @@ public final class CreateShardingTableReferenceRuleExecutor
implements DatabaseR
private void checkDuplicatedRuleNames(final
CreateShardingTableReferenceRuleStatement sqlStatement) {
Collection<String> duplicatedRuleNames =
getDuplicatedRuleNames(sqlStatement);
- ShardingSpherePreconditions.checkState(duplicatedRuleNames.isEmpty(),
() -> new DuplicateRuleException("sharding table reference",
database.getName(), duplicatedRuleNames));
+ ShardingSpherePreconditions.checkMustEmpty(duplicatedRuleNames, () ->
new DuplicateRuleException("sharding table reference", database.getName(),
duplicatedRuleNames));
}
private void checkDuplicatedTablesInShardingTableReferenceRules(final
CreateShardingTableReferenceRuleStatement sqlStatement) {
Collection<String> currentReferencedTableNames =
getReferencedTableNames();
Collection<String> duplicatedTableNames =
sqlStatement.getTableNames().stream().filter(currentReferencedTableNames::contains).collect(Collectors.toSet());
- ShardingSpherePreconditions.checkState(duplicatedTableNames.isEmpty(),
() -> new DuplicateRuleException("sharding table reference",
database.getName(), duplicatedTableNames));
+ ShardingSpherePreconditions.checkMustEmpty(duplicatedTableNames, () ->
new DuplicateRuleException("sharding table reference", database.getName(),
duplicatedTableNames));
}
private void checkToBeReferencedShardingTablesExisted(final
CreateShardingTableReferenceRuleStatement sqlStatement) {
Collection<String> currentShardingTableNames =
getCurrentShardingTableNames();
Collection<String> notExistedTableNames =
sqlStatement.getTableNames().stream().filter(each ->
!currentShardingTableNames.contains(each)).collect(Collectors.toSet());
- ShardingSpherePreconditions.checkState(notExistedTableNames.isEmpty(),
() -> new MissingRequiredRuleException("Sharding", database.getName(),
notExistedTableNames));
+ ShardingSpherePreconditions.checkMustEmpty(notExistedTableNames, () ->
new MissingRequiredRuleException("Sharding", database.getName(),
notExistedTableNames));
}
private Collection<String> getCurrentShardingTableNames() {
diff --git
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingAlgorithmExecutor.java
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingAlgorithmExecutor.java
index 300d988faae..23fb1522e61 100644
---
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingAlgorithmExecutor.java
+++
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingAlgorithmExecutor.java
@@ -59,14 +59,13 @@ public final class DropShardingAlgorithmExecutor implements
DatabaseRuleDropExec
private void checkToBeDroppedShardingAlgorithms(final
DropShardingAlgorithmStatement sqlStatement) {
Collection<String> currentShardingAlgorithms =
getCurrentShardingAlgorithms();
Collection<String> notExistedAlgorithms =
sqlStatement.getNames().stream().filter(each ->
!currentShardingAlgorithms.contains(each)).collect(Collectors.toList());
- ShardingSpherePreconditions.checkState(notExistedAlgorithms.isEmpty(),
- () -> new UnregisteredAlgorithmException("Sharding",
notExistedAlgorithms, new SQLExceptionIdentifier(database.getName())));
+ ShardingSpherePreconditions.checkMustEmpty(notExistedAlgorithms, () ->
new UnregisteredAlgorithmException("Sharding", notExistedAlgorithms, new
SQLExceptionIdentifier(database.getName())));
}
private void checkShardingAlgorithmsInUsed(final
DropShardingAlgorithmStatement sqlStatement) {
Collection<String> allInUsed = getAllOfAlgorithmsInUsed();
Collection<String> usedAlgorithms =
sqlStatement.getNames().stream().filter(allInUsed::contains).collect(Collectors.toList());
- ShardingSpherePreconditions.checkState(usedAlgorithms.isEmpty(), () ->
new InUsedAlgorithmException("Sharding", database.getName(), usedAlgorithms));
+ ShardingSpherePreconditions.checkMustEmpty(usedAlgorithms, () -> new
InUsedAlgorithmException("Sharding", database.getName(), usedAlgorithms));
}
private Collection<String> getAllOfAlgorithmsInUsed() {
diff --git
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingAuditorExecutor.java
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingAuditorExecutor.java
index e3a27d6054a..3f002379140 100644
---
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingAuditorExecutor.java
+++
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingAuditorExecutor.java
@@ -58,14 +58,13 @@ public final class DropShardingAuditorExecutor implements
DatabaseRuleDropExecut
private void checkExist(final DropShardingAuditorStatement sqlStatement) {
Collection<String> notExistAuditors =
sqlStatement.getNames().stream().filter(each ->
!rule.getConfiguration().getAuditors().containsKey(each)).collect(Collectors.toList());
- ShardingSpherePreconditions.checkState(notExistAuditors.isEmpty(),
- () -> new UnregisteredAlgorithmException("Sharding auditor",
notExistAuditors, new SQLExceptionIdentifier(database.getName())));
+ ShardingSpherePreconditions.checkMustEmpty(notExistAuditors, () -> new
UnregisteredAlgorithmException("Sharding auditor", notExistAuditors, new
SQLExceptionIdentifier(database.getName())));
}
private void checkInUsed(final DropShardingAuditorStatement sqlStatement) {
Collection<String> usedAuditors = getUsedAuditors();
Collection<String> inUsedNames =
sqlStatement.getNames().stream().filter(usedAuditors::contains).collect(Collectors.toList());
- ShardingSpherePreconditions.checkState(inUsedNames.isEmpty(), () ->
new InUsedAlgorithmException("Sharding auditor", database.getName(),
inUsedNames));
+ ShardingSpherePreconditions.checkMustEmpty(inUsedNames, () -> new
InUsedAlgorithmException("Sharding auditor", database.getName(), inUsedNames));
}
private Collection<String> getUsedAuditors() {
diff --git
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingKeyGeneratorExecutor.java
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingKeyGeneratorExecutor.java
index 73a9abf769e..3586465ad7d 100644
---
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingKeyGeneratorExecutor.java
+++
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingKeyGeneratorExecutor.java
@@ -59,14 +59,14 @@ public final class DropShardingKeyGeneratorExecutor
implements DatabaseRuleDropE
private void checkExist(final DropShardingKeyGeneratorStatement
sqlStatement) {
Collection<String> notExistKeyGenerators =
sqlStatement.getNames().stream().filter(each ->
!rule.getConfiguration().getKeyGenerators().containsKey(each)).collect(Collectors.toList());
- ShardingSpherePreconditions.checkState(notExistKeyGenerators.isEmpty(),
+ ShardingSpherePreconditions.checkMustEmpty(notExistKeyGenerators,
() -> new UnregisteredAlgorithmException("Key generator",
notExistKeyGenerators, new SQLExceptionIdentifier(database.getName())));
}
private void checkInUsed(final DropShardingKeyGeneratorStatement
sqlStatement) {
Collection<String> usedKeyGenerators = getUsedKeyGenerators();
Collection<String> inUsedNames =
sqlStatement.getNames().stream().filter(usedKeyGenerators::contains).collect(Collectors.toList());
- ShardingSpherePreconditions.checkState(inUsedNames.isEmpty(), () ->
new InUsedAlgorithmException("Key generator", database.getName(), inUsedNames));
+ ShardingSpherePreconditions.checkMustEmpty(inUsedNames, () -> new
InUsedAlgorithmException("Key generator", database.getName(), inUsedNames));
}
private Collection<String> getUsedKeyGenerators() {
diff --git
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingTableReferenceExecutor.java
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingTableReferenceExecutor.java
index ac5207391cc..46f865fcadc 100644
---
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingTableReferenceExecutor.java
+++
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingTableReferenceExecutor.java
@@ -53,13 +53,13 @@ public final class DropShardingTableReferenceExecutor
implements DatabaseRuleDro
}
private void checkCurrentRuleConfiguration() {
-
ShardingSpherePreconditions.checkState(!rule.getConfiguration().getBindingTableGroups().isEmpty(),
() -> new MissingRequiredRuleException("Sharding table reference",
database.getName()));
+
ShardingSpherePreconditions.checkNotEmpty(rule.getConfiguration().getBindingTableGroups(),
() -> new MissingRequiredRuleException("Sharding table reference",
database.getName()));
}
private void checkToBeDroppedShardingTableReferenceRules(final
DropShardingTableReferenceRuleStatement sqlStatement) {
Collection<String> currentRuleNames =
getCurrentShardingTableReferenceRuleNames();
Collection<String> notExistedRuleNames =
sqlStatement.getNames().stream().filter(each ->
!currentRuleNames.contains(each)).collect(Collectors.toList());
- ShardingSpherePreconditions.checkState(notExistedRuleNames.isEmpty(),
() -> new MissingRequiredRuleException("Sharding table reference",
database.getName(), notExistedRuleNames));
+ ShardingSpherePreconditions.checkMustEmpty(notExistedRuleNames, () ->
new MissingRequiredRuleException("Sharding table reference",
database.getName(), notExistedRuleNames));
}
private Collection<String> getCurrentShardingTableReferenceRuleNames() {
diff --git
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingTableRuleExecutor.java
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingTableRuleExecutor.java
index 87e23b20830..dd7312c623a 100644
---
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingTableRuleExecutor.java
+++
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingTableRuleExecutor.java
@@ -61,7 +61,7 @@ public final class DropShardingTableRuleExecutor implements
DatabaseRuleDropExec
private void checkToBeDroppedShardingTableNames(final
DropShardingTableRuleStatement sqlStatement) {
Collection<String> currentShardingTableNames =
getCurrentShardingTableNames();
Collection<String> notExistedTableNames =
getToBeDroppedShardingTableNames(sqlStatement).stream().filter(each ->
!currentShardingTableNames.contains(each)).collect(Collectors.toList());
- ShardingSpherePreconditions.checkState(notExistedTableNames.isEmpty(),
() -> new MissingRequiredRuleException("sharding", database.getName(),
notExistedTableNames));
+ ShardingSpherePreconditions.checkMustEmpty(notExistedTableNames, () ->
new MissingRequiredRuleException("sharding", database.getName(),
notExistedTableNames));
}
private Collection<String> getToBeDroppedShardingTableNames(final
DropShardingTableRuleStatement sqlStatement) {
diff --git
a/infra/algorithm/load-balancer/type/weight/src/main/java/org/apache/shardingsphere/infra/algorithm/loadbalancer/weight/WeightLoadBalanceAlgorithm.java
b/infra/algorithm/load-balancer/type/weight/src/main/java/org/apache/shardingsphere/infra/algorithm/loadbalancer/weight/WeightLoadBalanceAlgorithm.java
index d6ef3923750..df0097f8141 100644
---
a/infra/algorithm/load-balancer/type/weight/src/main/java/org/apache/shardingsphere/infra/algorithm/loadbalancer/weight/WeightLoadBalanceAlgorithm.java
+++
b/infra/algorithm/load-balancer/type/weight/src/main/java/org/apache/shardingsphere/infra/algorithm/loadbalancer/weight/WeightLoadBalanceAlgorithm.java
@@ -45,7 +45,7 @@ public final class WeightLoadBalanceAlgorithm implements
LoadBalanceAlgorithm {
@Override
public void init(final Properties props) {
Collection<String> availableTargetNames = props.stringPropertyNames();
-
ShardingSpherePreconditions.checkState(!availableTargetNames.isEmpty(), () ->
new AlgorithmInitializationException(this, "Available target is required."));
+ ShardingSpherePreconditions.checkNotEmpty(availableTargetNames, () ->
new AlgorithmInitializationException(this, "Available target is required."));
for (String each : availableTargetNames) {
String weight = props.getProperty(each);
ShardingSpherePreconditions.checkNotNull(weight,
diff --git
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/SelectStatementContext.java
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/SelectStatementContext.java
index e7fd9d0f27d..45009ec946c 100644
---
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/SelectStatementContext.java
+++
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/statement/dml/SelectStatementContext.java
@@ -140,7 +140,7 @@ public final class SelectStatementContext extends
CommonSQLStatementContext impl
private Collection<TableMapperRuleAttribute>
getTableMapperRuleAttributes(final ShardingSphereMetaData metaData, final
String databaseName) {
if (null == databaseName) {
-
ShardingSpherePreconditions.checkState(tablesContext.getSimpleTableSegments().isEmpty(),
NoDatabaseSelectedException::new);
+
ShardingSpherePreconditions.checkMustEmpty(tablesContext.getSimpleTableSegments(),
NoDatabaseSelectedException::new);
return Collections.emptyList();
}
ShardingSphereDatabase database = metaData.getDatabase(databaseName);
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/config/rule/checker/RuleConfigurationCheckEngine.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/config/rule/checker/RuleConfigurationCheckEngine.java
index a7e11a424de..77dd80249ae 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/config/rule/checker/RuleConfigurationCheckEngine.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/config/rule/checker/RuleConfigurationCheckEngine.java
@@ -66,13 +66,13 @@ public final class RuleConfigurationCheckEngine {
Collection<String> logicDataSources =
database.getRuleMetaData().getAttributes(DataSourceMapperRuleAttribute.class).stream()
.flatMap(each ->
each.getDataSourceMapper().keySet().stream()).collect(Collectors.toSet());
notExistedDataSources.removeIf(logicDataSources::contains);
-
ShardingSpherePreconditions.checkState(notExistedDataSources.isEmpty(), () ->
new MissingRequiredStorageUnitsException(database.getName(),
notExistedDataSources));
+ ShardingSpherePreconditions.checkMustEmpty(notExistedDataSources, ()
-> new MissingRequiredStorageUnitsException(database.getName(),
notExistedDataSources));
}
private static void checkTablesNotDuplicated(final RuleConfiguration
ruleConfig, final String databaseName, final Collection<String> tableNames) {
Collection<String> duplicatedTables = tableNames.stream()
.collect(Collectors.groupingBy(each -> each,
Collectors.counting())).entrySet().stream().filter(each -> each.getValue() >
1).map(Entry::getKey).collect(Collectors.toSet());
- ShardingSpherePreconditions.checkState(duplicatedTables.isEmpty(), ()
-> new DuplicateRuleException(getRuleType(ruleConfig), databaseName,
duplicatedTables));
+ ShardingSpherePreconditions.checkMustEmpty(duplicatedTables, () -> new
DuplicateRuleException(getRuleType(ruleConfig), databaseName,
duplicatedTables));
}
private static String getRuleType(final RuleConfiguration ruleConfig) {
diff --git
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/type/DatabaseTypeFactory.java
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/type/DatabaseTypeFactory.java
index f9aeb9e7f53..5d0dedb9d75 100644
---
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/type/DatabaseTypeFactory.java
+++
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/type/DatabaseTypeFactory.java
@@ -40,7 +40,7 @@ public final class DatabaseTypeFactory {
*/
public static DatabaseType get(final String url) {
Collection<DatabaseType> databaseTypes =
ShardingSphereServiceLoader.getServiceInstances(DatabaseType.class).stream().filter(each
-> matchURLs(url, each)).collect(Collectors.toList());
- ShardingSpherePreconditions.checkState(!databaseTypes.isEmpty(), () ->
new UnsupportedStorageTypeException(url));
+ ShardingSpherePreconditions.checkNotEmpty(databaseTypes, () -> new
UnsupportedStorageTypeException(url));
for (DatabaseType each : databaseTypes) {
if (each.getTrunkDatabaseType().isPresent()) {
return each;
diff --git
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/AlterStorageUnitExecutor.java
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/AlterStorageUnitExecutor.java
index 4f70b7c0e49..cd63f656103 100644
---
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/AlterStorageUnitExecutor.java
+++
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/AlterStorageUnitExecutor.java
@@ -80,18 +80,18 @@ public final class AlterStorageUnitExecutor implements
DistSQLUpdateExecutor<Alt
private void checkDuplicatedStorageUnitNames(final Collection<String>
storageUnitNames) {
Collection<String> duplicatedStorageUnitNames =
storageUnitNames.stream().filter(each ->
storageUnitNames.stream().filter(each::equals).count() >
1).collect(Collectors.toList());
-
ShardingSpherePreconditions.checkState(duplicatedStorageUnitNames.isEmpty(), ()
-> new DuplicateStorageUnitException(database.getName(),
duplicatedStorageUnitNames));
+ ShardingSpherePreconditions.checkMustEmpty(duplicatedStorageUnitNames,
() -> new DuplicateStorageUnitException(database.getName(),
duplicatedStorageUnitNames));
}
private void checkStorageUnitNameExisted(final Collection<String>
storageUnitNames) {
Collection<String> notExistedStorageUnitNames =
storageUnitNames.stream().filter(each ->
!database.getResourceMetaData().getStorageUnits().containsKey(each)).collect(Collectors.toList());
-
ShardingSpherePreconditions.checkState(notExistedStorageUnitNames.isEmpty(), ()
-> new MissingRequiredStorageUnitsException(database.getName(),
notExistedStorageUnitNames));
+ ShardingSpherePreconditions.checkMustEmpty(notExistedStorageUnitNames,
() -> new MissingRequiredStorageUnitsException(database.getName(),
notExistedStorageUnitNames));
}
private void checkDatabase(final AlterStorageUnitStatement sqlStatement) {
Collection<String> invalidStorageUnitNames =
sqlStatement.getStorageUnits().stream().collect(Collectors.toMap(DataSourceSegment::getName,
each -> each)).entrySet().stream()
.filter(each -> !isSameDatabase(each.getValue(),
database.getResourceMetaData().getStorageUnits().get(each.getKey()))).map(Entry::getKey).collect(Collectors.toSet());
-
ShardingSpherePreconditions.checkState(invalidStorageUnitNames.isEmpty(), () ->
new AlterStorageUnitConnectionInfoException(invalidStorageUnitNames));
+ ShardingSpherePreconditions.checkMustEmpty(invalidStorageUnitNames, ()
-> new AlterStorageUnitConnectionInfoException(invalidStorageUnitNames));
}
private boolean isSameDatabase(final DataSourceSegment segment, final
StorageUnit storageUnit) {
diff --git
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/RegisterStorageUnitExecutor.java
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/RegisterStorageUnitExecutor.java
index 3b4e820b969..bb86951095e 100644
---
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/RegisterStorageUnitExecutor.java
+++
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/RegisterStorageUnitExecutor.java
@@ -89,7 +89,7 @@ public final class RegisterStorageUnitExecutor implements
DistSQLUpdateExecutor<
}
dataSourceNames.add(each.getName());
}
-
ShardingSpherePreconditions.checkState(duplicatedDataSourceNames.isEmpty(), ()
-> new DuplicateStorageUnitException(database.getName(),
duplicatedDataSourceNames));
+ ShardingSpherePreconditions.checkMustEmpty(duplicatedDataSourceNames,
() -> new DuplicateStorageUnitException(database.getName(),
duplicatedDataSourceNames));
}
private void checkDuplicatedLogicalDataSourceNames(final
Collection<String> requiredDataSourceNames) {
@@ -98,7 +98,7 @@ public final class RegisterStorageUnitExecutor implements
DistSQLUpdateExecutor<
return;
}
Collection<String> duplicatedDataSourceNames =
requiredDataSourceNames.stream().filter(logicalDataSourceNames::contains).collect(Collectors.toSet());
-
ShardingSpherePreconditions.checkState(duplicatedDataSourceNames.isEmpty(), ()
-> new DuplicateStorageUnitException(database.getName(),
duplicatedDataSourceNames));
+ ShardingSpherePreconditions.checkMustEmpty(duplicatedDataSourceNames,
() -> new DuplicateStorageUnitException(database.getName(),
duplicatedDataSourceNames));
}
private Collection<String> getCurrentStorageUnitNames(final ContextManager
contextManager) {
diff --git
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/UnregisterStorageUnitExecutor.java
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/UnregisterStorageUnitExecutor.java
index 3db09edea9d..ded89c5c9b0 100644
---
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/UnregisterStorageUnitExecutor.java
+++
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/UnregisterStorageUnitExecutor.java
@@ -66,7 +66,7 @@ public final class UnregisterStorageUnitExecutor implements
DistSQLUpdateExecuto
private void checkExisted(final Collection<String> storageUnitNames) {
Map<String, StorageUnit> storageUnits =
database.getResourceMetaData().getStorageUnits();
Collection<String> notExistedStorageUnits =
storageUnitNames.stream().filter(each ->
!storageUnits.containsKey(each)).collect(Collectors.toList());
-
ShardingSpherePreconditions.checkState(notExistedStorageUnits.isEmpty(), () ->
new MissingRequiredStorageUnitsException(database.getName(),
notExistedStorageUnits));
+ ShardingSpherePreconditions.checkMustEmpty(notExistedStorageUnits, ()
-> new MissingRequiredStorageUnitsException(database.getName(),
notExistedStorageUnits));
}
private void checkInUsed(final UnregisterStorageUnitStatement
sqlStatement) {
@@ -78,7 +78,7 @@ public final class UnregisterStorageUnitExecutor implements
DistSQLUpdateExecuto
}
Collection<Class<ShardingSphereRule>> ignoreUsageCheckRules =
getIgnoreUsageCheckRules(sqlStatement);
String firstResource = inUsedStorageUnitNames.iterator().next();
-
ShardingSpherePreconditions.checkState(!ignoreUsageCheckRules.isEmpty(), () ->
new InUsedStorageUnitException(firstResource,
inUsedStorageUnits.get(firstResource)));
+ ShardingSpherePreconditions.checkNotEmpty(ignoreUsageCheckRules, () ->
new InUsedStorageUnitException(firstResource,
inUsedStorageUnits.get(firstResource)));
checkInUsedIgnoreTables(new HashSet<>(inUsedStorageUnitNames),
inUsedStorageUnits, ignoreUsageCheckRules);
}
@@ -98,7 +98,7 @@ public final class UnregisterStorageUnitExecutor implements
DistSQLUpdateExecuto
for (String each : inUsedResourceNames) {
Collection<Class<? extends ShardingSphereRule>> inUsedRules =
inUsedStorageUnits.get(each);
ignoreShardingSphereRules.forEach(inUsedRules::remove);
- ShardingSpherePreconditions.checkState(inUsedRules.isEmpty(), ()
-> new InUsedStorageUnitException(each, inUsedRules));
+ ShardingSpherePreconditions.checkMustEmpty(inUsedRules, () -> new
InUsedStorageUnitException(each, inUsedRules));
}
}
diff --git
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/validate/DistSQLDataSourcePoolPropertiesValidator.java
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/validate/DistSQLDataSourcePoolPropertiesValidator.java
index 55e755c69e0..5e9b022b0b1 100644
---
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/validate/DistSQLDataSourcePoolPropertiesValidator.java
+++
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/validate/DistSQLDataSourcePoolPropertiesValidator.java
@@ -36,6 +36,6 @@ public final class DistSQLDataSourcePoolPropertiesValidator {
*/
public void validate(final Map<String, DataSourcePoolProperties> propsMap)
{
Map<String, Exception> exceptions =
DataSourcePoolPropertiesValidator.validate(propsMap);
- ShardingSpherePreconditions.checkState(exceptions.isEmpty(), () -> new
StorageUnitsConnectException(exceptions));
+ ShardingSpherePreconditions.checkMustEmpty(exceptions, () -> new
StorageUnitsConnectException(exceptions));
}
}
diff --git
a/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/ShardingSpherePreconditions.java
b/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/ShardingSpherePreconditions.java
index 3e8e98b84e4..aa463358aa1 100644
---
a/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/ShardingSpherePreconditions.java
+++
b/infra/exception/core/src/main/java/org/apache/shardingsphere/infra/exception/core/ShardingSpherePreconditions.java
@@ -21,6 +21,8 @@ import com.google.common.base.Strings;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
+import java.util.Collection;
+import java.util.Map;
import java.util.function.Supplier;
/**
@@ -70,4 +72,60 @@ public final class ShardingSpherePreconditions {
throw exceptionSupplierIfUnexpected.get();
}
}
+
+ /**
+ * Ensures that a collection passed as a parameter to the calling method
is not empty.
+ *
+ * @param <T> type of exception
+ * @param values collection to be checked
+ * @param exceptionSupplierIfUnexpected exception from this supplier will
be thrown if expression is unexpected
+ * @throws T exception to be thrown
+ */
+ public static <T extends Throwable> void checkNotEmpty(final Collection<?>
values, final Supplier<T> exceptionSupplierIfUnexpected) throws T {
+ if (values.isEmpty()) {
+ throw exceptionSupplierIfUnexpected.get();
+ }
+ }
+
+ /**
+ * Ensures that a collection passed as a parameter to the calling method
is not empty.
+ *
+ * @param <T> type of exception
+ * @param map map to be checked
+ * @param exceptionSupplierIfUnexpected exception from this supplier will
be thrown if expression is unexpected
+ * @throws T exception to be thrown
+ */
+ public static <T extends Throwable> void checkNotEmpty(final Map<?, ?>
map, final Supplier<T> exceptionSupplierIfUnexpected) throws T {
+ if (map.isEmpty()) {
+ throw exceptionSupplierIfUnexpected.get();
+ }
+ }
+
+ /**
+ * Ensures that a collection passed as a parameter to the calling method
must empty.
+ *
+ * @param <T> type of exception
+ * @param values collection to be checked
+ * @param exceptionSupplierIfUnexpected exception from this supplier will
be thrown if expression is unexpected
+ * @throws T exception to be thrown
+ */
+ public static <T extends Throwable> void checkMustEmpty(final
Collection<?> values, final Supplier<T> exceptionSupplierIfUnexpected) throws T
{
+ if (!values.isEmpty()) {
+ throw exceptionSupplierIfUnexpected.get();
+ }
+ }
+
+ /**
+ * Ensures that a collection passed as a parameter to the calling method
must empty.
+ *
+ * @param <T> type of exception
+ * @param map map to be checked
+ * @param exceptionSupplierIfUnexpected exception from this supplier will
be thrown if expression is unexpected
+ * @throws T exception to be thrown
+ */
+ public static <T extends Throwable> void checkMustEmpty(final Map<?, ?>
map, final Supplier<T> exceptionSupplierIfUnexpected) throws T {
+ if (!map.isEmpty()) {
+ throw exceptionSupplierIfUnexpected.get();
+ }
+ }
}
diff --git
a/infra/exception/core/src/test/java/org/apache/shardingsphere/infra/exception/core/ShardingSpherePreconditionsTest.java
b/infra/exception/core/src/test/java/org/apache/shardingsphere/infra/exception/core/ShardingSpherePreconditionsTest.java
index fa49dff8447..4841749990c 100644
---
a/infra/exception/core/src/test/java/org/apache/shardingsphere/infra/exception/core/ShardingSpherePreconditionsTest.java
+++
b/infra/exception/core/src/test/java/org/apache/shardingsphere/infra/exception/core/ShardingSpherePreconditionsTest.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.infra.exception.core;
import org.junit.jupiter.api.Test;
import java.sql.SQLException;
+import java.util.Collections;
import static org.junit.jupiter.api.Assertions.assertThrows;
@@ -46,13 +47,53 @@ class ShardingSpherePreconditionsTest {
}
@Test
- void assertCheckNotEmptyToThrowsException() {
- assertThrows(SQLException.class, () ->
ShardingSpherePreconditions.checkNotEmpty(null, SQLException::new));
+ void assertCheckNotEmptyWithStringToThrowsException() {
+ assertThrows(SQLException.class, () ->
ShardingSpherePreconditions.checkNotEmpty((String) null, SQLException::new));
assertThrows(SQLException.class, () ->
ShardingSpherePreconditions.checkNotEmpty("", SQLException::new));
}
@Test
- void assertCheckNotEmptyToNotThrowException() throws SQLException {
+ void assertCheckNotEmptyWithStringToNotThrowException() throws
SQLException {
ShardingSpherePreconditions.checkNotEmpty("foo", SQLException::new);
}
+
+ @Test
+ void assertCheckNotEmptyWithCollectionToThrowsException() {
+ assertThrows(SQLException.class, () ->
ShardingSpherePreconditions.checkNotEmpty(Collections.emptyList(),
SQLException::new));
+ }
+
+ @Test
+ void assertCheckNotEmptyWithCollectionToNotThrowException() throws
SQLException {
+
ShardingSpherePreconditions.checkNotEmpty(Collections.singleton("foo"),
SQLException::new);
+ }
+
+ @Test
+ void assertCheckNotEmptyWithMapToThrowsException() {
+ assertThrows(SQLException.class, () ->
ShardingSpherePreconditions.checkNotEmpty(Collections.emptyMap(),
SQLException::new));
+ }
+
+ @Test
+ void assertCheckNotEmptyWithMapToNotThrowException() throws SQLException {
+
ShardingSpherePreconditions.checkNotEmpty(Collections.singletonMap("key",
"value"), SQLException::new);
+ }
+
+ @Test
+ void assertCheckMustEmptyWithCollectionToThrowsException() {
+ assertThrows(SQLException.class, () ->
ShardingSpherePreconditions.checkMustEmpty(Collections.singleton("foo"),
SQLException::new));
+ }
+
+ @Test
+ void assertCheckMustEmptyWithCollectionToNotThrowException() throws
SQLException {
+ ShardingSpherePreconditions.checkMustEmpty(Collections.emptyList(),
SQLException::new);
+ }
+
+ @Test
+ void assertCheckMustEmptyWithMapToThrowsException() {
+ assertThrows(SQLException.class, () ->
ShardingSpherePreconditions.checkMustEmpty(Collections.singletonMap("key",
"value"), SQLException::new));
+ }
+
+ @Test
+ void assertCheckMustEmptyWithMapToNotThrowException() throws SQLException {
+ ShardingSpherePreconditions.checkMustEmpty(Collections.emptyMap(),
SQLException::new);
+ }
}
diff --git
a/kernel/data-pipeline/scenario/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/handler/CDCBackendHandler.java
b/kernel/data-pipeline/scenario/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/handler/CDCBackendHandler.java
index a8375be5460..825e50df67a 100644
---
a/kernel/data-pipeline/scenario/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/handler/CDCBackendHandler.java
+++
b/kernel/data-pipeline/scenario/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/handler/CDCBackendHandler.java
@@ -116,9 +116,9 @@ public final class CDCBackendHandler {
.collect(Collectors.toList())));
tableNames = schemaTableNames;
}
- ShardingSpherePreconditions.checkState(!tableNames.isEmpty(), () ->
new CDCExceptionWrapper(requestId, new
MissingRequiredStreamDataSourceException()));
+ ShardingSpherePreconditions.checkNotEmpty(tableNames, () -> new
CDCExceptionWrapper(requestId, new MissingRequiredStreamDataSourceException()));
Map<String, List<DataNode>> actualDataNodesMap =
CDCDataNodeUtils.buildDataNodesMap(database, tableNames);
- ShardingSpherePreconditions.checkState(!actualDataNodesMap.isEmpty(),
() -> new PipelineInvalidParameterException(String.format("Not find table %s",
tableNames)));
+ ShardingSpherePreconditions.checkNotEmpty(actualDataNodesMap, () ->
new PipelineInvalidParameterException(String.format("Not find table %s",
tableNames)));
// TODO Add globalCSNSupported to isolate it with decodeWithTx flag,
they're different. And also update CDCJobPreparer needSorting flag.
boolean decodeWithTx =
DatabaseTypedSPILoader.getService(DialectDatabaseMetaData.class,
database.getProtocolType()).isSupportGlobalCSN();
StreamDataParameter parameter = new
StreamDataParameter(requestBody.getDatabase(), new
ArrayList<>(schemaTableNames), requestBody.getFull(), actualDataNodesMap,
decodeWithTx);
diff --git
a/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/api/MigrationJobAPI.java
b/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/api/MigrationJobAPI.java
index bbe07c9d739..8b8d6244684 100644
---
a/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/api/MigrationJobAPI.java
+++
b/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/api/MigrationJobAPI.java
@@ -183,7 +183,7 @@ public final class MigrationJobAPI implements
TransmissionJobAPI {
}
private YamlRootConfiguration buildYamlRootConfiguration(final String
databaseName, final Map<String, Map<String, Object>> yamlDataSources, final
Collection<RuleConfiguration> rules) {
- ShardingSpherePreconditions.checkState(!rules.isEmpty(), () -> new
EmptyRuleException(databaseName));
+ ShardingSpherePreconditions.checkNotEmpty(rules, () -> new
EmptyRuleException(databaseName));
YamlRootConfiguration result = new YamlRootConfiguration();
result.setDatabaseName(databaseName);
result.setDataSources(yamlDataSources);
@@ -211,7 +211,7 @@ public final class MigrationJobAPI implements
TransmissionJobAPI {
duplicateDataSourceNames.add(entry.getKey());
}
}
-
ShardingSpherePreconditions.checkState(duplicateDataSourceNames.isEmpty(), ()
-> new DuplicateStorageUnitException(contextKey.getDatabaseName(),
duplicateDataSourceNames));
+ ShardingSpherePreconditions.checkMustEmpty(duplicateDataSourceNames,
() -> new DuplicateStorageUnitException(contextKey.getDatabaseName(),
duplicateDataSourceNames));
Map<String, DataSourcePoolProperties> result = new
LinkedHashMap<>(existDataSources);
result.putAll(propsMap);
dataSourcePersistService.persist(contextKey, getType(), result);
@@ -226,7 +226,7 @@ public final class MigrationJobAPI implements
TransmissionJobAPI {
public void dropMigrationSourceResources(final PipelineContextKey
contextKey, final Collection<String> resourceNames) {
Map<String, DataSourcePoolProperties> metaDataDataSource =
dataSourcePersistService.load(contextKey, getType());
Collection<String> notExistedResources =
resourceNames.stream().filter(each ->
!metaDataDataSource.containsKey(each)).collect(Collectors.toList());
- ShardingSpherePreconditions.checkState(notExistedResources.isEmpty(),
() -> new MissingRequiredStorageUnitsException(contextKey.getDatabaseName(),
notExistedResources));
+ ShardingSpherePreconditions.checkMustEmpty(notExistedResources, () ->
new MissingRequiredStorageUnitsException(contextKey.getDatabaseName(),
notExistedResources));
for (String each : resourceNames) {
metaDataDataSource.remove(each);
}
diff --git
a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/UnloadSingleTableExecutor.java
b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/UnloadSingleTableExecutor.java
index c21d5391e66..98f5c6c03e0 100644
---
a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/UnloadSingleTableExecutor.java
+++
b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/UnloadSingleTableExecutor.java
@@ -85,7 +85,7 @@ public final class UnloadSingleTableExecutor implements
DatabaseRuleAlterExecuto
private void checkTableRuleExist(final String databaseName, final
DatabaseType databaseType,
final Collection<DataNode> dataNodes,
final String tableName) {
- ShardingSpherePreconditions.checkState(!dataNodes.isEmpty(), () -> new
MissingRequiredRuleException("Single", databaseName, tableName));
+ ShardingSpherePreconditions.checkNotEmpty(dataNodes, () -> new
MissingRequiredRuleException("Single", databaseName, tableName));
DataNode dataNode = dataNodes.iterator().next();
ShardingSpherePreconditions.checkState(rule.getConfiguration().getTables().contains(dataNode.format(databaseType)),
() -> new MissingRequiredRuleException("Single", databaseName, tableName));
}
diff --git
a/kernel/traffic/distsql/handler/src/main/java/org/apache/shardingsphere/traffic/distsql/handler/update/AlterTrafficRuleExecutor.java
b/kernel/traffic/distsql/handler/src/main/java/org/apache/shardingsphere/traffic/distsql/handler/update/AlterTrafficRuleExecutor.java
index 53b59a1ebca..86b705d558a 100644
---
a/kernel/traffic/distsql/handler/src/main/java/org/apache/shardingsphere/traffic/distsql/handler/update/AlterTrafficRuleExecutor.java
+++
b/kernel/traffic/distsql/handler/src/main/java/org/apache/shardingsphere/traffic/distsql/handler/update/AlterTrafficRuleExecutor.java
@@ -54,7 +54,7 @@ public final class AlterTrafficRuleExecutor implements
GlobalRuleDefinitionExecu
private void checkRuleNames(final AlterTrafficRuleStatement sqlStatement) {
Collection<String> notExistRuleNames =
getNotExistRuleNames(sqlStatement);
- ShardingSpherePreconditions.checkState(notExistRuleNames.isEmpty(), ()
-> new MissingRequiredRuleException("Traffic", notExistRuleNames));
+ ShardingSpherePreconditions.checkMustEmpty(notExistRuleNames, () ->
new MissingRequiredRuleException("Traffic", notExistRuleNames));
}
private Collection<String> getNotExistRuleNames(final
AlterTrafficRuleStatement sqlStatement) {
diff --git
a/mode/type/cluster/repository/api/src/main/java/org/apache/shardingsphere/mode/repository/cluster/lock/impl/DefaultDistributedLock.java
b/mode/type/cluster/repository/api/src/main/java/org/apache/shardingsphere/mode/repository/cluster/lock/impl/DefaultDistributedLock.java
index e1a3aef6b0b..5f4a4075b2c 100644
---
a/mode/type/cluster/repository/api/src/main/java/org/apache/shardingsphere/mode/repository/cluster/lock/impl/DefaultDistributedLock.java
+++
b/mode/type/cluster/repository/api/src/main/java/org/apache/shardingsphere/mode/repository/cluster/lock/impl/DefaultDistributedLock.java
@@ -76,7 +76,7 @@ public final class DefaultDistributedLock implements
DistributedLock {
if (newLockCount > 0) {
return;
}
- ShardingSpherePreconditions.checkState(newLockCount == 0, () -> new
IllegalMonitorStateException(String.format("Lock count has gone negative for
lock: %s.", lockKey)));
+ ShardingSpherePreconditions.checkState(0 == newLockCount, () -> new
IllegalMonitorStateException(String.format("Lock count has gone negative for
lock: %s.", lockKey)));
try {
client.delete(lockKey);
} finally {
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/config/checker/YamlProxyConfigurationChecker.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/config/checker/YamlProxyConfigurationChecker.java
index ffeba07c087..bdb75e94757 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/config/checker/YamlProxyConfigurationChecker.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/config/checker/YamlProxyConfigurationChecker.java
@@ -47,6 +47,6 @@ public final class YamlProxyConfigurationChecker {
private static void checkDataSources(final Map<String,
YamlProxyDataSourceConfiguration> globalDataSources,
final Map<String,
YamlProxyDataSourceConfiguration> databaseDataSources, final String
databaseName) {
Collection<String> duplicatedDataSourceNames =
globalDataSources.keySet().stream().filter(databaseDataSources.keySet()::contains).collect(Collectors.toSet());
-
ShardingSpherePreconditions.checkState(duplicatedDataSourceNames.isEmpty(), ()
-> new DuplicateStorageUnitException(databaseName, duplicatedDataSourceNames));
+ ShardingSpherePreconditions.checkMustEmpty(duplicatedDataSourceNames,
() -> new DuplicateStorageUnitException(databaseName,
duplicatedDataSourceNames));
}
}
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/RefreshTableMetaDataExecutor.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/RefreshTableMetaDataExecutor.java
index 4595cdcdfc3..f590ce5b2dd 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/RefreshTableMetaDataExecutor.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/RefreshTableMetaDataExecutor.java
@@ -61,7 +61,7 @@ public final class RefreshTableMetaDataExecutor implements
DistSQLUpdateExecutor
}
private void checkStorageUnit(final Map<String, StorageUnit> storageUnits,
final RefreshTableMetaDataStatement sqlStatement) {
- ShardingSpherePreconditions.checkState(!storageUnits.isEmpty(), () ->
new EmptyStorageUnitException(database.getName()));
+ ShardingSpherePreconditions.checkNotEmpty(storageUnits, () -> new
EmptyStorageUnitException(database.getName()));
if (sqlStatement.getStorageUnitName().isPresent()) {
String storageUnitName = sqlStatement.getStorageUnitName().get();
ShardingSpherePreconditions.checkState(