This is an automated email from the ASF dual-hosted git repository.

duanzhengqiang 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 def4383b2c5 replacing the 
org.apache.commons.collections4.map.CaseInsensitiveMap with 
com.cedarsoftware.util.CaseInsensitiveMap. (#29432)
def4383b2c5 is described below

commit def4383b2c57d26a028e7f053fbbbfce24f7340e
Author: Cong Hu <[email protected]>
AuthorDate: Tue Dec 19 18:03:42 2023 +0800

    replacing the org.apache.commons.collections4.map.CaseInsensitiveMap with 
com.cedarsoftware.util.CaseInsensitiveMap. (#29432)
    
    * replacing the org.apache.commons.collections4.map.CaseInsensitiveMap with 
com.cedarsoftware.util.CaseInsensitiveMap.
    
    * Fix the issue of Cursor Name being rewritten depending on the order of 
logicAndActualTables.
    
    * Add LICENSE in shardingsphere-proxy-distribution.
---
 distribution/proxy/src/main/release-docs/LICENSE               |  1 +
 .../org/apache/shardingsphere/encrypt/rule/EncryptTable.java   |  2 +-
 .../java/org/apache/shardingsphere/mask/rule/MaskTable.java    |  2 +-
 .../sharding/merge/ddl/ShardingDDLResultMerger.java            |  2 +-
 .../sharding/merge/dql/ShardingDQLResultMerger.java            |  2 +-
 .../sharding/rewrite/token/pojo/CursorToken.java               |  2 +-
 .../infra/binder/context/segment/table/TablesContext.java      | 10 +++++-----
 .../infra/binder/statement/SQLStatementBinderContext.java      |  2 +-
 .../infra/binder/statement/dml/MergeStatementBinder.java       |  2 +-
 .../core/metadata/database/datatype/DataTypeLoader.java        |  2 +-
 .../sql/token/pojo/generic/SubstitutableColumnNameToken.java   |  2 +-
 .../driver/jdbc/core/resultset/DatabaseMetaDataResultSet.java  |  2 +-
 .../jdbc/core/resultset/ShardingSphereResultSetUtils.java      |  2 +-
 .../expression/impl/BinaryOperationExpressionConverter.java    |  2 +-
 .../expression/impl/UnaryOperationExpressionConverter.java     |  2 +-
 .../projection/impl/AggregationProjectionConverter.java        |  2 +-
 .../transaction/xa/XAShardingSphereTransactionManager.java     |  2 +-
 pom.xml                                                        | 10 ++++++++++
 .../proxy/backend/hbase/result/query/HBaseGetResultSet.java    |  2 +-
 19 files changed, 32 insertions(+), 21 deletions(-)

diff --git a/distribution/proxy/src/main/release-docs/LICENSE 
b/distribution/proxy/src/main/release-docs/LICENSE
index 3ec175e8aed..4d8651e6f08 100644
--- a/distribution/proxy/src/main/release-docs/LICENSE
+++ b/distribution/proxy/src/main/release-docs/LICENSE
@@ -306,6 +306,7 @@ The text of each license is the standard Apache 2.0 license.
     uzaygezen-core 0.2: https://code.google.com/p/uzaygezen, Apache 2.0
     zookeeper 3.9.0: https://github.com/apache/zookeeper, Apache 2.0
     zookeeper-jute 3.9.0: https://github.com/apache/zookeeper, Apache 2.0
+    java-util 2.4.0: https://github.com/jdereg/java-util, Apache 2.0
 
 ========================================================================
 Apache 2.0 licenses
diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptTable.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptTable.java
index aae70f8abec..a364e18bd27 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptTable.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/EncryptTable.java
@@ -17,8 +17,8 @@
 
 package org.apache.shardingsphere.encrypt.rule;
 
+import com.cedarsoftware.util.CaseInsensitiveMap;
 import lombok.Getter;
-import org.apache.commons.collections4.map.CaseInsensitiveMap;
 import 
org.apache.shardingsphere.encrypt.api.config.rule.EncryptColumnRuleConfiguration;
 import 
org.apache.shardingsphere.encrypt.api.config.rule.EncryptTableRuleConfiguration;
 import 
org.apache.shardingsphere.encrypt.api.encrypt.assisted.AssistedEncryptAlgorithm;
diff --git 
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/rule/MaskTable.java
 
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/rule/MaskTable.java
index 3157c8196b4..d65dbe0019b 100644
--- 
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/rule/MaskTable.java
+++ 
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/rule/MaskTable.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.mask.rule;
 
-import org.apache.commons.collections4.map.CaseInsensitiveMap;
+import com.cedarsoftware.util.CaseInsensitiveMap;
 import 
org.apache.shardingsphere.mask.api.config.rule.MaskColumnRuleConfiguration;
 import 
org.apache.shardingsphere.mask.api.config.rule.MaskTableRuleConfiguration;
 
diff --git 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/ddl/ShardingDDLResultMerger.java
 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/ddl/ShardingDDLResultMerger.java
index 2ebafed58b1..3648d85f81d 100644
--- 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/ddl/ShardingDDLResultMerger.java
+++ 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/ddl/ShardingDDLResultMerger.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.sharding.merge.ddl;
 
-import org.apache.commons.collections4.map.CaseInsensitiveMap;
+import com.cedarsoftware.util.CaseInsensitiveMap;
 import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
 import 
org.apache.shardingsphere.infra.binder.context.statement.ddl.FetchStatementContext;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
diff --git 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMerger.java
 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMerger.java
index 62c9081919b..160a5f463bc 100644
--- 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMerger.java
+++ 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMerger.java
@@ -17,8 +17,8 @@
 
 package org.apache.shardingsphere.sharding.merge.dql;
 
+import com.cedarsoftware.util.CaseInsensitiveMap;
 import lombok.RequiredArgsConstructor;
-import org.apache.commons.collections4.map.CaseInsensitiveMap;
 import 
org.apache.shardingsphere.infra.binder.context.segment.select.orderby.OrderByItem;
 import 
org.apache.shardingsphere.infra.binder.context.segment.select.pagination.PaginationContext;
 import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
diff --git 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/CursorToken.java
 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/CursorToken.java
index 5e234a94f99..34f58196900 100644
--- 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/CursorToken.java
+++ 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/CursorToken.java
@@ -58,7 +58,7 @@ public final class CursorToken extends SQLToken implements 
Substitutable, RouteU
     
     private String getCursorValue(final RouteUnit routeUnit) {
         Map<String, String> logicAndActualTables = 
TokenUtils.getLogicAndActualTableMap(routeUnit, sqlStatementContext, 
shardingRule);
-        String actualTableName = logicAndActualTables.isEmpty() ? null : 
logicAndActualTables.values().iterator().next();
+        String actualTableName = 
logicAndActualTables.values().stream().sorted().findFirst().orElse(null);
         return Strings.isNullOrEmpty(actualTableName) ? identifier.getValue() 
: identifier.getValue() + "_" + actualTableName;
     }
 }
diff --git 
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/table/TablesContext.java
 
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/table/TablesContext.java
index 22298a42820..7f93fb85372 100644
--- 
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/table/TablesContext.java
+++ 
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/table/TablesContext.java
@@ -17,10 +17,11 @@
 
 package org.apache.shardingsphere.infra.binder.context.segment.table;
 
+import com.cedarsoftware.util.CaseInsensitiveMap;
+import com.cedarsoftware.util.CaseInsensitiveSet;
 import com.google.common.base.Preconditions;
 import lombok.Getter;
 import lombok.ToString;
-import org.apache.commons.collections4.map.CaseInsensitiveMap;
 import 
org.apache.shardingsphere.infra.binder.context.segment.select.subquery.SubqueryTableContext;
 import 
org.apache.shardingsphere.infra.binder.context.segment.select.subquery.engine.SubqueryTableContextEngine;
 import 
org.apache.shardingsphere.infra.binder.context.statement.dml.SelectStatementContext;
@@ -38,7 +39,6 @@ import 
org.apache.shardingsphere.sql.parser.sql.common.value.identifier.Identifi
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.LinkedHashMap;
 import java.util.LinkedList;
 import java.util.Map;
@@ -57,11 +57,11 @@ public final class TablesContext {
     private final Collection<SimpleTableSegment> simpleTableSegments = new 
LinkedList<>();
     
     @Getter
-    private final Collection<String> tableNames = new HashSet<>();
+    private final Collection<String> tableNames = new CaseInsensitiveSet<>();
     
-    private final Collection<String> schemaNames = new HashSet<>();
+    private final Collection<String> schemaNames = new CaseInsensitiveSet<>();
     
-    private final Collection<String> databaseNames = new HashSet<>();
+    private final Collection<String> databaseNames = new 
CaseInsensitiveSet<>();
     
     private final Map<String, Collection<SubqueryTableContext>> subqueryTables 
= new HashMap<>();
     
diff --git 
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/SQLStatementBinderContext.java
 
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/SQLStatementBinderContext.java
index 34dafe75eb5..3c2cc5dcfef 100644
--- 
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/SQLStatementBinderContext.java
+++ 
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/SQLStatementBinderContext.java
@@ -17,9 +17,9 @@
 
 package org.apache.shardingsphere.infra.binder.statement;
 
+import com.cedarsoftware.util.CaseInsensitiveMap;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.commons.collections4.map.CaseInsensitiveMap;
 import 
org.apache.shardingsphere.infra.binder.segment.from.TableSegmentBinderContext;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
diff --git 
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/MergeStatementBinder.java
 
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/MergeStatementBinder.java
index 1cbbfc18dd0..7346d4b4616 100644
--- 
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/MergeStatementBinder.java
+++ 
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/MergeStatementBinder.java
@@ -17,8 +17,8 @@
 
 package org.apache.shardingsphere.infra.binder.statement.dml;
 
+import com.cedarsoftware.util.CaseInsensitiveMap;
 import lombok.SneakyThrows;
-import org.apache.commons.collections4.map.CaseInsensitiveMap;
 import org.apache.shardingsphere.infra.binder.enums.SegmentType;
 import 
org.apache.shardingsphere.infra.binder.segment.expression.ExpressionSegmentBinder;
 import 
org.apache.shardingsphere.infra.binder.segment.expression.impl.ColumnSegmentBinder;
diff --git 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/datatype/DataTypeLoader.java
 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/datatype/DataTypeLoader.java
index 7671e9f6cbd..b327a65c8cb 100644
--- 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/datatype/DataTypeLoader.java
+++ 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/datatype/DataTypeLoader.java
@@ -17,7 +17,7 @@
 
 package 
org.apache.shardingsphere.infra.database.core.metadata.database.datatype;
 
-import org.apache.commons.collections4.map.CaseInsensitiveMap;
+import com.cedarsoftware.util.CaseInsensitiveMap;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 
diff --git 
a/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/SubstitutableColumnNameToken.java
 
b/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/SubstitutableColumnNameToken.java
index d7d8d18fab5..1bc5ffbd1aa 100644
--- 
a/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/SubstitutableColumnNameToken.java
+++ 
b/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/SubstitutableColumnNameToken.java
@@ -17,9 +17,9 @@
 
 package org.apache.shardingsphere.infra.rewrite.sql.token.pojo.generic;
 
+import com.cedarsoftware.util.CaseInsensitiveMap;
 import lombok.EqualsAndHashCode;
 import lombok.Getter;
-import org.apache.commons.collections4.map.CaseInsensitiveMap;
 import 
org.apache.shardingsphere.infra.binder.context.segment.select.projection.Projection;
 import 
org.apache.shardingsphere.infra.binder.context.segment.select.projection.impl.ColumnProjection;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
diff --git 
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/DatabaseMetaDataResultSet.java
 
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/DatabaseMetaDataResultSet.java
index 4bbc4b180f6..5c44c3f0483 100644
--- 
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/DatabaseMetaDataResultSet.java
+++ 
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/DatabaseMetaDataResultSet.java
@@ -17,8 +17,8 @@
 
 package org.apache.shardingsphere.driver.jdbc.core.resultset;
 
+import com.cedarsoftware.util.CaseInsensitiveMap;
 import lombok.EqualsAndHashCode;
-import org.apache.commons.collections4.map.CaseInsensitiveMap;
 import 
org.apache.shardingsphere.driver.jdbc.exception.connection.ResultSetClosedException;
 import 
org.apache.shardingsphere.driver.jdbc.exception.syntax.ColumnIndexOutOfRangeException;
 import 
org.apache.shardingsphere.driver.jdbc.exception.syntax.ColumnLabelNotFoundException;
diff --git 
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetUtils.java
 
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetUtils.java
index 80bcb1c2442..fa5a3989604 100644
--- 
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetUtils.java
+++ 
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetUtils.java
@@ -17,9 +17,9 @@
 
 package org.apache.shardingsphere.driver.jdbc.core.resultset;
 
+import com.cedarsoftware.util.CaseInsensitiveMap;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import org.apache.commons.collections4.map.CaseInsensitiveMap;
 import 
org.apache.shardingsphere.infra.binder.context.segment.select.projection.DerivedColumn;
 import 
org.apache.shardingsphere.infra.binder.context.segment.select.projection.Projection;
 import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
diff --git 
a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/BinaryOperationExpressionConverter.java
 
b/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/BinaryOperationExpressionConverter.java
index 5785bfd500e..f9e60349900 100644
--- 
a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/BinaryOperationExpressionConverter.java
+++ 
b/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/BinaryOperationExpressionConverter.java
@@ -17,6 +17,7 @@
 
 package 
org.apache.shardingsphere.sqlfederation.optimizer.converter.segment.expression.impl;
 
+import com.cedarsoftware.util.CaseInsensitiveMap;
 import com.google.common.base.Preconditions;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
@@ -26,7 +27,6 @@ import org.apache.calcite.sql.SqlNodeList;
 import org.apache.calcite.sql.SqlOperator;
 import org.apache.calcite.sql.fun.SqlStdOperatorTable;
 import org.apache.calcite.sql.parser.SqlParserPos;
-import org.apache.commons.collections4.map.CaseInsensitiveMap;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.BinaryOperationExpression;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.simple.LiteralExpressionSegment;
 import 
org.apache.shardingsphere.sqlfederation.optimizer.converter.operator.common.SQLExtensionOperatorTable;
diff --git 
a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/UnaryOperationExpressionConverter.java
 
b/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/UnaryOperationExpressionConverter.java
index 9110e916aa5..3a3804b61a0 100644
--- 
a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/UnaryOperationExpressionConverter.java
+++ 
b/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/UnaryOperationExpressionConverter.java
@@ -17,6 +17,7 @@
 
 package 
org.apache.shardingsphere.sqlfederation.optimizer.converter.segment.expression.impl;
 
+import com.cedarsoftware.util.CaseInsensitiveMap;
 import com.google.common.base.Preconditions;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
@@ -25,7 +26,6 @@ import org.apache.calcite.sql.SqlNode;
 import org.apache.calcite.sql.SqlOperator;
 import org.apache.calcite.sql.fun.SqlStdOperatorTable;
 import org.apache.calcite.sql.parser.SqlParserPos;
-import org.apache.commons.collections4.map.CaseInsensitiveMap;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.UnaryOperationExpression;
 import 
org.apache.shardingsphere.sqlfederation.optimizer.converter.operator.common.SQLExtensionOperatorTable;
 import 
org.apache.shardingsphere.sqlfederation.optimizer.converter.segment.expression.ExpressionConverter;
diff --git 
a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/AggregationProjectionConverter.java
 
b/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/AggregationProjectionConverter.java
index 8cbda108e78..6d84c9e7443 100644
--- 
a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/AggregationProjectionConverter.java
+++ 
b/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/AggregationProjectionConverter.java
@@ -17,6 +17,7 @@
 
 package 
org.apache.shardingsphere.sqlfederation.optimizer.converter.segment.projection.impl;
 
+import com.cedarsoftware.util.CaseInsensitiveMap;
 import com.google.common.base.Preconditions;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
@@ -28,7 +29,6 @@ import org.apache.calcite.sql.SqlNode;
 import org.apache.calcite.sql.SqlSelectKeyword;
 import org.apache.calcite.sql.fun.SqlStdOperatorTable;
 import org.apache.calcite.sql.parser.SqlParserPos;
-import org.apache.commons.collections4.map.CaseInsensitiveMap;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.ExpressionSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.item.AggregationDistinctProjectionSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.item.AggregationProjectionSegment;
diff --git 
a/kernel/transaction/type/xa/core/src/main/java/org/apache/shardingsphere/transaction/xa/XAShardingSphereTransactionManager.java
 
b/kernel/transaction/type/xa/core/src/main/java/org/apache/shardingsphere/transaction/xa/XAShardingSphereTransactionManager.java
index f43f2e951db..e2fdc5f2e11 100644
--- 
a/kernel/transaction/type/xa/core/src/main/java/org/apache/shardingsphere/transaction/xa/XAShardingSphereTransactionManager.java
+++ 
b/kernel/transaction/type/xa/core/src/main/java/org/apache/shardingsphere/transaction/xa/XAShardingSphereTransactionManager.java
@@ -17,8 +17,8 @@
 
 package org.apache.shardingsphere.transaction.xa;
 
+import com.cedarsoftware.util.CaseInsensitiveMap;
 import lombok.SneakyThrows;
-import org.apache.commons.collections4.map.CaseInsensitiveMap;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
diff --git a/pom.xml b/pom.xml
index fe6de490281..872e0cb6c22 100644
--- a/pom.xml
+++ b/pom.xml
@@ -74,6 +74,7 @@
         <commons-math3.version>3.6.1</commons-math3.version>
         <caffeine.version>2.9.3</caffeine.version>
         
<transmittable-thread-local.version>2.14.2</transmittable-thread-local.version>
+        <java-util.version>2.4.0</java-util.version>
         
         <antlr4.version>4.10.1</antlr4.version>
         <snakeyaml.version>2.2</snakeyaml.version>
@@ -562,6 +563,11 @@
                 <version>${bytebuddy.version}</version>
                 <scope>test</scope>
             </dependency>
+            <dependency>
+                <groupId>com.cedarsoftware</groupId>
+                <artifactId>java-util</artifactId>
+                <version>${java-util.version}</version>
+            </dependency>
         </dependencies>
     </dependencyManagement>
     
@@ -636,6 +642,10 @@
             <groupId>ch.qos.logback</groupId>
             <artifactId>logback-classic</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.cedarsoftware</groupId>
+            <artifactId>java-util</artifactId>
+        </dependency>
     </dependencies>
     
     <build>
diff --git 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseGetResultSet.java
 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseGetResultSet.java
index 4c62c7dd121..66baad96227 100644
--- 
a/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseGetResultSet.java
+++ 
b/proxy/backend/type/hbase/src/main/java/org/apache/shardingsphere/proxy/backend/hbase/result/query/HBaseGetResultSet.java
@@ -17,9 +17,9 @@
 
 package org.apache.shardingsphere.proxy.backend.hbase.result.query;
 
+import com.cedarsoftware.util.CaseInsensitiveMap;
 import lombok.Getter;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.collections4.map.CaseInsensitiveMap;
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.CellUtil;
 import org.apache.hadoop.hbase.client.Get;

Reply via email to