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 ec14182d3fe Use MemberAccessor for set fields (#32879)
ec14182d3fe is described below
commit ec14182d3fe223a27f2c668364b628bfc241a274
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Sep 15 14:40:58 2024 +0800
Use MemberAccessor for set fields (#32879)
---
.../ReadwriteSplittingDataSourceRouterTest.java | 16 +++++----------
.../merge/dql/orderby/OrderByValueTest.java | 16 ++++++---------
.../token/ShardingTokenGenerateBuilderTest.java | 2 +-
.../rdl/resource/AlterStorageUnitExecutorTest.java | 2 +-
.../resource/RegisterStorageUnitExecutorTest.java | 2 +-
.../parser/cache/SQLStatementCacheLoaderTest.java | 2 +-
.../driver/jdbc/adapter/StatementAdapterTest.java | 2 +-
.../connection/ShardingSphereConnectionTest.java | 2 +-
.../persist/MetaDataPersistServiceTest.java | 2 +-
...eataATShardingSphereTransactionManagerTest.java | 10 +++++-----
.../xa/XAShardingSphereTransactionManagerTest.java | 4 ++--
.../dispatch/ProcessListChangedSubscriberTest.java | 15 +++++++-------
.../DatabaseMetaDataChangedListenerTest.java | 15 ++++++--------
.../ClusterMetaDataManagerPersistServiceTest.java | 15 ++++----------
.../workerid/ClusterWorkerIdGeneratorTest.java | 23 ++++------------------
.../lock/impl/DefaultDistributedLockTest.java | 8 ++------
.../cluster/etcd/EtcdRepositoryTest.java | 10 +++-------
.../SessionConnectionReconnectListenerTest.java | 7 ++-----
...tandaloneMetaDataManagerPersistServiceTest.java | 12 +++--------
.../sql/parser/api/SQLParserExecutorTest.java | 4 ++--
.../database/cache/ParseTreeCacheLoaderTest.java | 2 +-
.../backend/connector/DatabaseConnectorTest.java | 6 ++----
.../backend/connector/MockConnectionUtils.java | 2 +-
.../ProxyDatabaseConnectionManagerTest.java | 2 +-
.../ImportDatabaseConfigurationExecutorTest.java | 4 ++--
.../ral/updatable/ImportMetaDataExecutorTest.java | 6 +++---
.../TransactionBackendHandlerFactoryTest.java | 2 +-
.../query/MySQLComQueryPacketExecutorTest.java | 16 +++++----------
28 files changed, 75 insertions(+), 134 deletions(-)
diff --git
a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/route/ReadwriteSplittingDataSourceRouterTest.java
b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/route/ReadwriteSplittingDataSourceRouterTest.java
index ddb56b78533..2ca27d391b2 100644
---
a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/route/ReadwriteSplittingDataSourceRouterTest.java
+++
b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/route/ReadwriteSplittingDataSourceRouterTest.java
@@ -31,8 +31,8 @@ import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Answers;
import org.mockito.Mock;
+import org.mockito.internal.configuration.plugins.Plugins;
-import java.lang.reflect.Field;
import java.util.Collections;
import static org.hamcrest.CoreMatchers.is;
@@ -54,30 +54,24 @@ class ReadwriteSplittingDataSourceRouterTest {
@Mock
private HintValueContext hintValueContext;
+ @SneakyThrows(ReflectiveOperationException.class)
@Test
void assertRouteWithQualifiedRouters() {
ReadwriteSplittingDataSourceRouter router = new
ReadwriteSplittingDataSourceRouter(rule, mock(ConnectionContext.class));
QualifiedReadwriteSplittingDataSourceRouter qualifiedRouter =
mock(QualifiedReadwriteSplittingDataSourceRouter.class);
when(qualifiedRouter.isQualified(sqlStatementContext, rule,
hintValueContext)).thenReturn(true);
when(qualifiedRouter.route(rule)).thenReturn("qualified_ds");
- setQualifiedRouters(router, qualifiedRouter);
+
Plugins.getMemberAccessor().set(ReadwriteSplittingDataSourceRouter.class.getDeclaredField("qualifiedRouters"),
router, qualifiedRouter);
assertThat(router.route(sqlStatementContext, hintValueContext),
is("qualified_ds"));
}
+ @SneakyThrows(ReflectiveOperationException.class)
@Test
void assertRouteWithStandardRouters() {
when(rule.getLoadBalancer().getTargetName(any(),
any())).thenReturn("standard_ds");
ReadwriteSplittingDataSourceRouter router = new
ReadwriteSplittingDataSourceRouter(rule, mock(ConnectionContext.class));
- setQualifiedRouters(router,
mock(QualifiedReadwriteSplittingDataSourceRouter.class));
+
Plugins.getMemberAccessor().set(ReadwriteSplittingDataSourceRouter.class.getDeclaredField("qualifiedRouters"),
router, mock(QualifiedReadwriteSplittingDataSourceRouter.class));
when(ShardingSphereServiceLoader.getServiceInstances(ReadDataSourcesFilter.class)).thenReturn(Collections.emptyList());
assertThat(router.route(sqlStatementContext, hintValueContext),
is("standard_ds"));
}
-
- @SneakyThrows(ReflectiveOperationException.class)
- private void setQualifiedRouters(final ReadwriteSplittingDataSourceRouter
router, final QualifiedReadwriteSplittingDataSourceRouter qualifiedRouter) {
- Field field = router.getClass().getDeclaredField("qualifiedRouters");
- field.setAccessible(true);
- field.set(router, Collections.singleton(qualifiedRouter));
- field.setAccessible(false);
- }
}
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/orderby/OrderByValueTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/orderby/OrderByValueTest.java
index f99f44339d9..1e7067a61a4 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/orderby/OrderByValueTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/orderby/OrderByValueTest.java
@@ -45,7 +45,6 @@ import
org.apache.shardingsphere.sql.parser.statement.sql92.dml.SQL92SelectState
import
org.apache.shardingsphere.sql.parser.statement.sqlserver.dml.SQLServerSelectStatement;
import org.junit.jupiter.api.Test;
import org.mockito.internal.configuration.plugins.Plugins;
-import org.mockito.plugins.MemberAccessor;
import java.sql.SQLException;
import java.util.Arrays;
@@ -98,15 +97,14 @@ class OrderByValueTest {
createOrderByItem(new IndexOrderByItemSegment(0, 0, 1,
OrderDirection.ASC, NullsOrderType.FIRST)),
createOrderByItem(new IndexOrderByItemSegment(0, 0, 2,
OrderDirection.ASC, NullsOrderType.FIRST))),
selectStatementContext, schema);
- MemberAccessor accessor = Plugins.getMemberAccessor();
-
accessor.set(OrderByValue.class.getDeclaredField("orderValuesCaseSensitive"),
orderByValue1, Arrays.asList(false, false));
+
Plugins.getMemberAccessor().set(OrderByValue.class.getDeclaredField("orderValuesCaseSensitive"),
orderByValue1, Arrays.asList(false, false));
assertTrue(orderByValue1.next());
QueryResult queryResult2 = createQueryResult("3", "4");
OrderByValue orderByValue2 = new OrderByValue(queryResult2,
Arrays.asList(
createOrderByItem(new IndexOrderByItemSegment(0, 0, 1,
OrderDirection.ASC, NullsOrderType.FIRST)),
createOrderByItem(new IndexOrderByItemSegment(0, 0, 2,
OrderDirection.ASC, NullsOrderType.FIRST))),
selectStatementContext, schema);
-
accessor.set(OrderByValue.class.getDeclaredField("orderValuesCaseSensitive"),
orderByValue2, Arrays.asList(false, false));
+
Plugins.getMemberAccessor().set(OrderByValue.class.getDeclaredField("orderValuesCaseSensitive"),
orderByValue2, Arrays.asList(false, false));
assertTrue(orderByValue2.next());
assertTrue(orderByValue1.compareTo(orderByValue2) < 0);
assertFalse(orderByValue1.getQueryResult().next());
@@ -156,15 +154,14 @@ class OrderByValueTest {
createOrderByItem(new IndexOrderByItemSegment(0, 0, 1,
OrderDirection.DESC, NullsOrderType.FIRST)),
createOrderByItem(new IndexOrderByItemSegment(0, 0, 2,
OrderDirection.DESC, NullsOrderType.FIRST))),
selectStatementContext, schema);
- MemberAccessor accessor = Plugins.getMemberAccessor();
-
accessor.set(OrderByValue.class.getDeclaredField("orderValuesCaseSensitive"),
orderByValue1, Arrays.asList(false, false));
+
Plugins.getMemberAccessor().set(OrderByValue.class.getDeclaredField("orderValuesCaseSensitive"),
orderByValue1, Arrays.asList(false, false));
assertTrue(orderByValue1.next());
QueryResult queryResult2 = createQueryResult("3", "4");
OrderByValue orderByValue2 = new OrderByValue(queryResult2,
Arrays.asList(
createOrderByItem(new IndexOrderByItemSegment(0, 0, 1,
OrderDirection.DESC, NullsOrderType.FIRST)),
createOrderByItem(new IndexOrderByItemSegment(0, 0, 2,
OrderDirection.DESC, NullsOrderType.FIRST))),
selectStatementContext, schema);
-
accessor.set(OrderByValue.class.getDeclaredField("orderValuesCaseSensitive"),
orderByValue2, Arrays.asList(false, false));
+
Plugins.getMemberAccessor().set(OrderByValue.class.getDeclaredField("orderValuesCaseSensitive"),
orderByValue2, Arrays.asList(false, false));
assertTrue(orderByValue2.next());
assertTrue(orderByValue1.compareTo(orderByValue2) > 0);
assertFalse(orderByValue1.getQueryResult().next());
@@ -208,15 +205,14 @@ class OrderByValueTest {
createOrderByItem(new IndexOrderByItemSegment(0, 0, 1,
OrderDirection.ASC, NullsOrderType.FIRST)),
createOrderByItem(new IndexOrderByItemSegment(0, 0, 2,
OrderDirection.DESC, NullsOrderType.FIRST))),
selectStatementContext, schema);
- MemberAccessor accessor = Plugins.getMemberAccessor();
-
accessor.set(OrderByValue.class.getDeclaredField("orderValuesCaseSensitive"),
orderByValue1, Arrays.asList(false, false));
+
Plugins.getMemberAccessor().set(OrderByValue.class.getDeclaredField("orderValuesCaseSensitive"),
orderByValue1, Arrays.asList(false, false));
assertTrue(orderByValue1.next());
QueryResult queryResult2 = createQueryResult("1", "2");
OrderByValue orderByValue2 = new OrderByValue(queryResult2,
Arrays.asList(
createOrderByItem(new IndexOrderByItemSegment(0, 0, 1,
OrderDirection.ASC, NullsOrderType.FIRST)),
createOrderByItem(new IndexOrderByItemSegment(0, 0, 2,
OrderDirection.DESC, NullsOrderType.FIRST))),
selectStatementContext, schema);
-
accessor.set(OrderByValue.class.getDeclaredField("orderValuesCaseSensitive"),
orderByValue2, Arrays.asList(false, false));
+
Plugins.getMemberAccessor().set(OrderByValue.class.getDeclaredField("orderValuesCaseSensitive"),
orderByValue2, Arrays.asList(false, false));
assertTrue(orderByValue2.next());
assertThat(orderByValue1.compareTo(orderByValue2), is(0));
assertFalse(orderByValue1.getQueryResult().next());
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/ShardingTokenGenerateBuilderTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/ShardingTokenGenerateBuilderTest.java
index b04a26c93a6..fc0b087bdc2 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/ShardingTokenGenerateBuilderTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/ShardingTokenGenerateBuilderTest.java
@@ -82,6 +82,6 @@ class ShardingTokenGenerateBuilderTest {
}
private void assertField(final SQLTokenGenerator sqlTokenGenerator, final
Object filedInstance, final String fieldName) throws Exception {
-
assertThat(Plugins.getMemberAccessor().get(sqlTokenGenerator.getClass().getDeclaredField(fieldName),
sqlTokenGenerator), is(filedInstance));
+
assertThat(Plugins.getMemberAccessor().get(SQLTokenGenerator.class.getDeclaredField(fieldName),
sqlTokenGenerator), is(filedInstance));
}
}
diff --git
a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/AlterStorageUnitExecutorTest.java
b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/AlterStorageUnitExecutorTest.java
index c9c47ae891d..516c552150a 100644
---
a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/AlterStorageUnitExecutorTest.java
+++
b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/AlterStorageUnitExecutorTest.java
@@ -59,7 +59,7 @@ class AlterStorageUnitExecutorTest {
@BeforeEach
void setUp() throws ReflectiveOperationException {
executor.setDatabase(database);
-
Plugins.getMemberAccessor().set(executor.getClass().getDeclaredField("validateHandler"),
executor, mock(DistSQLDataSourcePoolPropertiesValidator.class));
+
Plugins.getMemberAccessor().set(AlterStorageUnitExecutor.class.getDeclaredField("validateHandler"),
executor, mock(DistSQLDataSourcePoolPropertiesValidator.class));
}
@Test
diff --git
a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/RegisterStorageUnitExecutorTest.java
b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/RegisterStorageUnitExecutorTest.java
index e06efe08be8..7167437d0e0 100644
---
a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/RegisterStorageUnitExecutorTest.java
+++
b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/RegisterStorageUnitExecutorTest.java
@@ -60,7 +60,7 @@ class RegisterStorageUnitExecutorTest {
when(database.getName()).thenReturn("foo_db");
when(database.getRuleMetaData()).thenReturn(mock(RuleMetaData.class));
executor.setDatabase(database);
-
Plugins.getMemberAccessor().set(executor.getClass().getDeclaredField("validateHandler"),
executor, mock(DistSQLDataSourcePoolPropertiesValidator.class));
+
Plugins.getMemberAccessor().set(RegisterStorageUnitExecutor.class.getDeclaredField("validateHandler"),
executor, mock(DistSQLDataSourcePoolPropertiesValidator.class));
}
@Test
diff --git
a/infra/parser/src/test/java/org/apache/shardingsphere/infra/parser/cache/SQLStatementCacheLoaderTest.java
b/infra/parser/src/test/java/org/apache/shardingsphere/infra/parser/cache/SQLStatementCacheLoaderTest.java
index 3964cd1f97a..12fff0aab83 100644
---
a/infra/parser/src/test/java/org/apache/shardingsphere/infra/parser/cache/SQLStatementCacheLoaderTest.java
+++
b/infra/parser/src/test/java/org/apache/shardingsphere/infra/parser/cache/SQLStatementCacheLoaderTest.java
@@ -38,7 +38,7 @@ class SQLStatementCacheLoaderTest {
void assertSQLStatementCacheLoad() throws ReflectiveOperationException {
SQLStatementCacheLoader sqlStatementCacheLoader = new
SQLStatementCacheLoader(TypedSPILoader.getService(DatabaseType.class, "MySQL"),
new CacheOption(128, 1024L));
SQLStatementParserExecutor executor =
mock(SQLStatementParserExecutor.class, RETURNS_DEEP_STUBS);
-
Plugins.getMemberAccessor().set(sqlStatementCacheLoader.getClass().getDeclaredField("sqlStatementParserExecutor"),
sqlStatementCacheLoader, executor);
+
Plugins.getMemberAccessor().set(SQLStatementCacheLoader.class.getDeclaredField("sqlStatementParserExecutor"),
sqlStatementCacheLoader, executor);
assertThat(sqlStatementCacheLoader.load(SQL), isA(SQLStatement.class));
}
}
diff --git
a/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/adapter/StatementAdapterTest.java
b/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/adapter/StatementAdapterTest.java
index 17a8e2de8e4..3b68f95f3a4 100644
---
a/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/adapter/StatementAdapterTest.java
+++
b/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/adapter/StatementAdapterTest.java
@@ -268,6 +268,6 @@ class StatementAdapterTest {
@SneakyThrows(ReflectiveOperationException.class)
private void setExecutionContext(final ShardingSphereStatement statement) {
-
Plugins.getMemberAccessor().set(statement.getClass().getDeclaredField("sqlStatementContext"),
statement, mock(SQLStatementContext.class));
+
Plugins.getMemberAccessor().set(ShardingSphereStatement.class.getDeclaredField("sqlStatementContext"),
statement, mock(SQLStatementContext.class));
}
}
diff --git
a/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/core/connection/ShardingSphereConnectionTest.java
b/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/core/connection/ShardingSphereConnectionTest.java
index 7a7aa07e2d3..136ab424eaf 100644
---
a/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/core/connection/ShardingSphereConnectionTest.java
+++
b/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/core/connection/ShardingSphereConnectionTest.java
@@ -136,7 +136,7 @@ class ShardingSphereConnectionTest {
DriverDatabaseConnectionManager result =
mock(DriverDatabaseConnectionManager.class);
when(result.getConnectionTransaction()).thenReturn(connectionTransaction);
when(result.getConnectionContext()).thenReturn(new
ConnectionContext(Collections::emptySet));
-
Plugins.getMemberAccessor().set(connection.getClass().getDeclaredField("databaseConnectionManager"),
connection, result);
+
Plugins.getMemberAccessor().set(ShardingSphereConnection.class.getDeclaredField("databaseConnectionManager"),
connection, result);
return result;
}
diff --git
a/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistServiceTest.java
b/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistServiceTest.java
index 8ae3e463363..e280d603d5c 100644
---
a/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistServiceTest.java
+++
b/kernel/metadata/core/src/test/java/org/apache/shardingsphere/metadata/persist/MetaDataPersistServiceTest.java
@@ -59,7 +59,7 @@ class MetaDataPersistServiceTest {
}
private void setField(final String name, final Object value) throws
ReflectiveOperationException {
-
Plugins.getMemberAccessor().set(metaDataPersistService.getClass().getDeclaredField(name),
metaDataPersistService, value);
+
Plugins.getMemberAccessor().set(MetaDataPersistService.class.getDeclaredField(name),
metaDataPersistService, value);
}
@Test
diff --git
a/kernel/transaction/type/base/seata-at/src/test/java/org/apache/shardingsphere/transaction/base/seata/at/SeataATShardingSphereTransactionManagerTest.java
b/kernel/transaction/type/base/seata-at/src/test/java/org/apache/shardingsphere/transaction/base/seata/at/SeataATShardingSphereTransactionManagerTest.java
index 5ca0caf94c6..8c68ebca2d3 100644
---
a/kernel/transaction/type/base/seata-at/src/test/java/org/apache/shardingsphere/transaction/base/seata/at/SeataATShardingSphereTransactionManagerTest.java
+++
b/kernel/transaction/type/base/seata-at/src/test/java/org/apache/shardingsphere/transaction/base/seata/at/SeataATShardingSphereTransactionManagerTest.java
@@ -191,7 +191,7 @@ class SeataATShardingSphereTransactionManagerTest {
@SneakyThrows(ReflectiveOperationException.class)
@SuppressWarnings("unchecked")
private Map<String, DataSource> getDataSourceMap() {
- return (Map<String, DataSource>)
Plugins.getMemberAccessor().get(seataTransactionManager.getClass().getDeclaredField("dataSourceMap"),
seataTransactionManager);
+ return (Map<String, DataSource>)
Plugins.getMemberAccessor().get(SeataATShardingSphereTransactionManager.class.getDeclaredField("dataSourceMap"),
seataTransactionManager);
}
@SneakyThrows(ReflectiveOperationException.class)
@@ -202,9 +202,9 @@ class SeataATShardingSphereTransactionManagerTest {
@SneakyThrows(ReflectiveOperationException.class)
private void releaseRpcClient() {
-
Plugins.getMemberAccessor().set(TmNettyRemotingClient.getInstance().getClass().getDeclaredField("initialized"),
TmNettyRemotingClient.getInstance(), new AtomicBoolean(false));
-
Plugins.getMemberAccessor().set(TmNettyRemotingClient.getInstance().getClass().getDeclaredField("instance"),
TmNettyRemotingClient.getInstance(), null);
-
Plugins.getMemberAccessor().set(RmNettyRemotingClient.getInstance().getClass().getDeclaredField("initialized"),
RmNettyRemotingClient.getInstance(), new AtomicBoolean(false));
-
Plugins.getMemberAccessor().set(RmNettyRemotingClient.getInstance().getClass().getDeclaredField("instance"),
RmNettyRemotingClient.getInstance(), null);
+
Plugins.getMemberAccessor().set(TmNettyRemotingClient.class.getDeclaredField("initialized"),
TmNettyRemotingClient.getInstance(), new AtomicBoolean(false));
+
Plugins.getMemberAccessor().set(TmNettyRemotingClient.class.getDeclaredField("instance"),
TmNettyRemotingClient.getInstance(), null);
+
Plugins.getMemberAccessor().set(TmNettyRemotingClient.class.getDeclaredField("initialized"),
RmNettyRemotingClient.getInstance(), new AtomicBoolean(false));
+
Plugins.getMemberAccessor().set(TmNettyRemotingClient.class.getDeclaredField("instance"),
RmNettyRemotingClient.getInstance(), null);
}
}
diff --git
a/kernel/transaction/type/xa/core/src/test/java/org/apache/shardingsphere/transaction/xa/XAShardingSphereTransactionManagerTest.java
b/kernel/transaction/type/xa/core/src/test/java/org/apache/shardingsphere/transaction/xa/XAShardingSphereTransactionManagerTest.java
index 36f34733aea..d2b8487aa82 100644
---
a/kernel/transaction/type/xa/core/src/test/java/org/apache/shardingsphere/transaction/xa/XAShardingSphereTransactionManagerTest.java
+++
b/kernel/transaction/type/xa/core/src/test/java/org/apache/shardingsphere/transaction/xa/XAShardingSphereTransactionManagerTest.java
@@ -137,13 +137,13 @@ class XAShardingSphereTransactionManagerTest {
@SneakyThrows(ReflectiveOperationException.class)
@SuppressWarnings("unchecked")
private Map<String, XATransactionDataSource> getCachedDataSources() {
- return (Map<String, XATransactionDataSource>)
Plugins.getMemberAccessor().get(xaTransactionManager.getClass().getDeclaredField("cachedDataSources"),
xaTransactionManager);
+ return (Map<String, XATransactionDataSource>)
Plugins.getMemberAccessor().get(XAShardingSphereTransactionManager.class.getDeclaredField("cachedDataSources"),
xaTransactionManager);
}
@SneakyThrows(ReflectiveOperationException.class)
@SuppressWarnings("unchecked")
private ThreadLocal<Map<Transaction, Connection>>
getEnlistedTransactions(final XATransactionDataSource transactionDataSource) {
- return (ThreadLocal<Map<Transaction, Connection>>)
Plugins.getMemberAccessor().get(transactionDataSource.getClass().getDeclaredField("enlistedTransactions"),
transactionDataSource);
+ return (ThreadLocal<Map<Transaction, Connection>>)
Plugins.getMemberAccessor().get(XATransactionDataSource.class.getDeclaredField("enlistedTransactions"),
transactionDataSource);
}
private Map<String, DataSource> createDataSources(final DatabaseType
databaseType) {
diff --git
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/subscriber/dispatch/ProcessListChangedSubscriberTest.java
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/subscriber/dispatch/ProcessListChangedSubscriberTest.java
index f9bbe6a6545..64a93bc3abf 100644
---
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/subscriber/dispatch/ProcessListChangedSubscriberTest.java
+++
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/event/subscriber/dispatch/ProcessListChangedSubscriberTest.java
@@ -17,6 +17,7 @@
package
org.apache.shardingsphere.mode.manager.cluster.event.subscriber.dispatch;
+import lombok.SneakyThrows;
import org.apache.shardingsphere.infra.config.mode.ModeConfiguration;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.database.core.DefaultDatabase;
@@ -32,14 +33,15 @@ import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.infra.util.eventbus.EventBusContext;
-import org.apache.shardingsphere.mode.manager.ContextManager;
-import org.apache.shardingsphere.mode.manager.ContextManagerBuilderParameter;
-import
org.apache.shardingsphere.mode.manager.cluster.ClusterContextManagerBuilder;
import
org.apache.shardingsphere.mode.event.dispatch.state.compute.KillLocalProcessCompletedEvent;
import
org.apache.shardingsphere.mode.event.dispatch.state.compute.KillLocalProcessEvent;
import
org.apache.shardingsphere.mode.event.dispatch.state.compute.ReportLocalProcessesCompletedEvent;
import
org.apache.shardingsphere.mode.event.dispatch.state.compute.ReportLocalProcessesEvent;
+import org.apache.shardingsphere.mode.manager.ContextManager;
+import org.apache.shardingsphere.mode.manager.ContextManagerBuilderParameter;
+import
org.apache.shardingsphere.mode.manager.cluster.ClusterContextManagerBuilder;
import org.apache.shardingsphere.mode.metadata.MetaDataContextsFactory;
+import org.apache.shardingsphere.mode.persist.PersistServiceFacade;
import
org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepositoryConfiguration;
import org.apache.shardingsphere.mode.spi.PersistRepository;
import org.awaitility.Awaitility;
@@ -50,7 +52,6 @@ import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.jupiter.MockitoExtension;
-import org.mockito.plugins.MemberAccessor;
import java.sql.SQLException;
import java.util.Collections;
@@ -81,15 +82,15 @@ class ProcessListChangedSubscriberTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private ShardingSphereDatabase database;
+ @SneakyThrows(ReflectiveOperationException.class)
@BeforeEach
- void setUp() throws SQLException, NoSuchFieldException,
IllegalAccessException {
+ void setUp() throws SQLException {
EventBusContext eventBusContext = new EventBusContext();
contextManager = new
ClusterContextManagerBuilder().build(createContextManagerBuilderParameter(),
eventBusContext);
contextManager.renewMetaDataContexts(MetaDataContextsFactory.create(contextManager.getPersistServiceFacade().getMetaDataPersistService(),
new ShardingSphereMetaData(createDatabases(),
contextManager.getMetaDataContexts().getMetaData().getGlobalResourceMetaData(),
contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData(),
new ConfigurationProperties(new Properties()))));
- MemberAccessor accessor = Plugins.getMemberAccessor();
-
accessor.set(contextManager.getPersistServiceFacade().getClass().getDeclaredField("repository"),
contextManager.getPersistServiceFacade(), repository);
+
Plugins.getMemberAccessor().set(PersistServiceFacade.class.getDeclaredField("repository"),
contextManager.getPersistServiceFacade(), repository);
subscriber = new ProcessListChangedSubscriber(contextManager);
}
diff --git
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/listener/DatabaseMetaDataChangedListenerTest.java
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/listener/DatabaseMetaDataChangedListenerTest.java
index 299d577982c..0a24dd7de06 100644
---
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/listener/DatabaseMetaDataChangedListenerTest.java
+++
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/listener/DatabaseMetaDataChangedListenerTest.java
@@ -44,11 +44,11 @@ import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.ArgumentsProvider;
import org.junit.jupiter.params.provider.ArgumentsSource;
import org.mockito.Mock;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.jupiter.MockitoExtension;
import org.mockito.junit.jupiter.MockitoSettings;
import org.mockito.quality.Strictness;
-import java.lang.reflect.Field;
import java.util.Optional;
import java.util.stream.Stream;
@@ -71,17 +71,14 @@ class DatabaseMetaDataChangedListenerTest {
@BeforeEach
void setUp() {
listener = new DatabaseMetaDataChangedListener(eventBusContext);
- RuleConfigurationEventBuilder builder =
mock(RuleConfigurationEventBuilder.class);
- when(builder.build(eq("foo_db"),
any(DataChangedEvent.class))).thenReturn(Optional.of(new
AlterUniqueRuleItemEvent("foo_db", "key", "value", "type")));
- setField(builder);
+ setMockedBuilder();
}
@SneakyThrows(ReflectiveOperationException.class)
- private void setField(final RuleConfigurationEventBuilder builder) {
- Field field =
DatabaseMetaDataChangedListener.class.getDeclaredField("builder");
- field.setAccessible(true);
- field.set(listener, builder);
- field.setAccessible(false);
+ private void setMockedBuilder() {
+ RuleConfigurationEventBuilder builder =
mock(RuleConfigurationEventBuilder.class);
+ when(builder.build(eq("foo_db"),
any(DataChangedEvent.class))).thenReturn(Optional.of(new
AlterUniqueRuleItemEvent("foo_db", "key", "value", "type")));
+
Plugins.getMemberAccessor().set(DatabaseMetaDataChangedListener.class.getDeclaredField("builder"),
listener, builder);
}
@ParameterizedTest(name = "{0}")
diff --git
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/persist/ClusterMetaDataManagerPersistServiceTest.java
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/persist/ClusterMetaDataManagerPersistServiceTest.java
index cb45774742b..2bd61ce0f9e 100644
---
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/persist/ClusterMetaDataManagerPersistServiceTest.java
+++
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/persist/ClusterMetaDataManagerPersistServiceTest.java
@@ -34,9 +34,9 @@ import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Answers;
import org.mockito.Mock;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.jupiter.MockitoExtension;
-import java.lang.reflect.Field;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
@@ -66,19 +66,12 @@ class ClusterMetaDataManagerPersistServiceTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private MetaDataContextManager metaDataContextManager;
+ @SneakyThrows(ReflectiveOperationException.class)
@BeforeEach
void setUp() {
metaDataManagerPersistService = new
ClusterMetaDataManagerPersistService(mock(PersistRepository.class),
metaDataContextManager);
- setField("metaDataPersistService", metaDataPersistService);
- setField("listenerAssistedPersistService",
listenerAssistedPersistService);
- }
-
- @SneakyThrows(ReflectiveOperationException.class)
- void setField(final String filedName, final Object fieldValue) {
- Field field =
metaDataManagerPersistService.getClass().getDeclaredField(filedName);
- field.setAccessible(true);
- field.set(metaDataManagerPersistService, fieldValue);
- field.setAccessible(false);
+
Plugins.getMemberAccessor().set(ClusterMetaDataManagerPersistService.class.getDeclaredField("metaDataPersistService"),
metaDataManagerPersistService, metaDataPersistService);
+
Plugins.getMemberAccessor().set(ClusterMetaDataManagerPersistService.class.getDeclaredField("listenerAssistedPersistService"),
metaDataManagerPersistService, listenerAssistedPersistService);
}
@Test
diff --git
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/workerid/ClusterWorkerIdGeneratorTest.java
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/workerid/ClusterWorkerIdGeneratorTest.java
index 7e60a27ad16..e7f4d959d2e 100644
---
a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/workerid/ClusterWorkerIdGeneratorTest.java
+++
b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/workerid/ClusterWorkerIdGeneratorTest.java
@@ -29,9 +29,9 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.jupiter.MockitoExtension;
-import java.lang.reflect.Field;
import java.util.Collection;
import java.util.Collections;
import java.util.Optional;
@@ -54,11 +54,12 @@ class ClusterWorkerIdGeneratorTest {
@Mock
private ReservationPersistService reservationPersistService;
+ @SneakyThrows(ReflectiveOperationException.class)
@BeforeEach
void setUp() {
workerIdGenerator = new
ClusterWorkerIdGenerator(mock(ClusterPersistRepository.class), "foo_id");
- setComputeNodePersistService();
- setReservationPersistService();
+
Plugins.getMemberAccessor().set(ClusterWorkerIdGenerator.class.getDeclaredField("computeNodePersistService"),
workerIdGenerator, computeNodePersistService);
+
Plugins.getMemberAccessor().set(ClusterWorkerIdGenerator.class.getDeclaredField("reservationPersistService"),
workerIdGenerator, reservationPersistService);
}
@Test
@@ -90,20 +91,4 @@ class ClusterWorkerIdGeneratorTest {
assertThat(workerIdGenerator.generate(PropertiesBuilder.build(new
Property(WorkerIdGenerator.WORKER_ID_KEY, "100"))), is(10));
assertThat(workerIdGenerator.generate(PropertiesBuilder.build(new
Property(WorkerIdGenerator.WORKER_ID_KEY, "100"))), is(10));
}
-
- private void setComputeNodePersistService() {
- setField("computeNodePersistService", computeNodePersistService);
- }
-
- private void setReservationPersistService() {
- setField("reservationPersistService", reservationPersistService);
- }
-
- @SneakyThrows(ReflectiveOperationException.class)
- private void setField(final String fieldName, final Object fieldValue) {
- Field field = workerIdGenerator.getClass().getDeclaredField(fieldName);
- field.setAccessible(true);
- field.set(workerIdGenerator, fieldValue);
- field.setAccessible(false);
- }
}
diff --git
a/mode/type/cluster/repository/api/src/test/java/org/apache/shardingsphere/mode/repository/cluster/lock/impl/DefaultDistributedLockTest.java
b/mode/type/cluster/repository/api/src/test/java/org/apache/shardingsphere/mode/repository/cluster/lock/impl/DefaultDistributedLockTest.java
index 59b86c0a5b7..20b346fe5a8 100644
---
a/mode/type/cluster/repository/api/src/test/java/org/apache/shardingsphere/mode/repository/cluster/lock/impl/DefaultDistributedLockTest.java
+++
b/mode/type/cluster/repository/api/src/test/java/org/apache/shardingsphere/mode/repository/cluster/lock/impl/DefaultDistributedLockTest.java
@@ -27,9 +27,9 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.jupiter.MockitoExtension;
-import java.lang.reflect.Field;
import java.util.Map;
import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -101,10 +101,6 @@ class DefaultDistributedLockTest {
@SuppressWarnings("unchecked")
@SneakyThrows(ReflectiveOperationException.class)
private Map<Thread, ?> getThreadData() {
- Field field =
distributedLock.getClass().getDeclaredField("threadData");
- field.setAccessible(true);
- Map<Thread, ?> result = (Map<Thread, ?>) field.get(distributedLock);
- field.setAccessible(false);
- return result;
+ return (Map<Thread, ?>)
Plugins.getMemberAccessor().get(DefaultDistributedLock.class.getDeclaredField("threadData"),
distributedLock);
}
}
diff --git
a/mode/type/cluster/repository/provider/etcd/src/test/java/org/apache/shardingsphere/mode/repository/cluster/etcd/EtcdRepositoryTest.java
b/mode/type/cluster/repository/provider/etcd/src/test/java/org/apache/shardingsphere/mode/repository/cluster/etcd/EtcdRepositoryTest.java
index 995afdc6cca..72c9a3074d3 100644
---
a/mode/type/cluster/repository/provider/etcd/src/test/java/org/apache/shardingsphere/mode/repository/cluster/etcd/EtcdRepositoryTest.java
+++
b/mode/type/cluster/repository/provider/etcd/src/test/java/org/apache/shardingsphere/mode/repository/cluster/etcd/EtcdRepositoryTest.java
@@ -42,7 +42,6 @@ import org.mockito.Mock;
import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.jupiter.MockitoExtension;
import org.mockito.junit.jupiter.MockitoSettings;
-import org.mockito.plugins.MemberAccessor;
import org.mockito.quality.Strictness;
import java.nio.charset.StandardCharsets;
@@ -107,14 +106,12 @@ class EtcdRepositoryTest {
@SneakyThrows(ReflectiveOperationException.class)
private void setClient() {
mockClient();
- MemberAccessor accessor = Plugins.getMemberAccessor();
- accessor.set(repository.getClass().getDeclaredField("client"),
repository, client);
+
Plugins.getMemberAccessor().set(EtcdRepository.class.getDeclaredField("client"),
repository, client);
}
@SneakyThrows(ReflectiveOperationException.class)
private void setProperties() {
- MemberAccessor accessor = Plugins.getMemberAccessor();
- accessor.set(repository.getClass().getDeclaredField("etcdProps"),
repository, new EtcdProperties(new Properties()));
+
Plugins.getMemberAccessor().set(EtcdRepository.class.getDeclaredField("etcdProps"),
repository, new EtcdProperties(new Properties()));
}
@SuppressWarnings("unchecked")
@@ -278,8 +275,7 @@ class EtcdRepositoryTest {
.setValue(ByteString.copyFromUtf8("value1")).build();
KeyValue keyValue = new KeyValue(keyValue1, ByteSequence.EMPTY);
events.add(new WatchEvent(keyValue, mock(KeyValue.class), eventType));
- MemberAccessor accessor = Plugins.getMemberAccessor();
- accessor.set(result.getClass().getDeclaredField("events"), result,
events);
+
Plugins.getMemberAccessor().set(WatchResponse.class.getDeclaredField("events"),
result, events);
return result;
}
}
diff --git
a/mode/type/cluster/repository/provider/zookeeper/src/test/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/listener/SessionConnectionReconnectListenerTest.java
b/mode/type/cluster/repository/provider/zookeeper/src/test/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/listener/SessionConnectionReconnectListenerTest.java
index ff82e7a050c..8ac280a61bb 100644
---
a/mode/type/cluster/repository/provider/zookeeper/src/test/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/listener/SessionConnectionReconnectListenerTest.java
+++
b/mode/type/cluster/repository/provider/zookeeper/src/test/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/listener/SessionConnectionReconnectListenerTest.java
@@ -27,9 +27,9 @@ import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Answers;
import org.mockito.Mock;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.jupiter.MockitoExtension;
-import java.lang.reflect.Field;
import java.util.Properties;
import static org.mockito.ArgumentMatchers.any;
@@ -78,10 +78,7 @@ class SessionConnectionReconnectListenerTest {
@SneakyThrows(ReflectiveOperationException.class)
private SessionConnectionReconnectListener
getSessionConnectionReconnectListener(final ComputeNodePersistService
computeNodePersistService) {
SessionConnectionReconnectListener result = new
SessionConnectionReconnectListener(computeNodeInstanceContext, repository);
- Field field =
result.getClass().getDeclaredField("computeNodePersistService");
- field.setAccessible(true);
- field.set(result, computeNodePersistService);
- field.setAccessible(false);
+
Plugins.getMemberAccessor().set(SessionConnectionReconnectListener.class.getDeclaredField("computeNodePersistService"),
result, computeNodePersistService);
return result;
}
}
diff --git
a/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/persist/StandaloneMetaDataManagerPersistServiceTest.java
b/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/persist/StandaloneMetaDataManagerPersistServiceTest.java
index 07f37ea1941..5a6ae0ac55d 100644
---
a/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/persist/StandaloneMetaDataManagerPersistServiceTest.java
+++
b/mode/type/standalone/core/src/test/java/org/apache/shardingsphere/mode/manager/standalone/persist/StandaloneMetaDataManagerPersistServiceTest.java
@@ -43,9 +43,9 @@ import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Answers;
import org.mockito.Mock;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.jupiter.MockitoExtension;
-import java.lang.reflect.Field;
import java.sql.SQLException;
import java.util.Arrays;
import java.util.Collection;
@@ -78,10 +78,7 @@ class StandaloneMetaDataManagerPersistServiceTest {
@SneakyThrows(ReflectiveOperationException.class)
void setUp() {
metaDataManagerPersistService = new
StandaloneMetaDataManagerPersistService(mock(PersistRepository.class),
metaDataContextManager);
- Field field =
metaDataManagerPersistService.getClass().getDeclaredField("metaDataPersistService");
- field.setAccessible(true);
- field.set(metaDataManagerPersistService, metaDataPersistService);
- field.setAccessible(false);
+
Plugins.getMemberAccessor().set(StandaloneMetaDataManagerPersistService.class.getDeclaredField("metaDataPersistService"),
metaDataManagerPersistService, metaDataPersistService);
}
@Test
@@ -246,9 +243,6 @@ class StandaloneMetaDataManagerPersistServiceTest {
@SneakyThrows(ReflectiveOperationException.class)
private void setRuleConfigurationEventBuilder(final
RuleConfigurationEventBuilder ruleConfigurationEventBuilder) {
- Field field =
metaDataManagerPersistService.getClass().getDeclaredField("ruleConfigurationEventBuilder");
- field.setAccessible(true);
- field.set(metaDataManagerPersistService,
ruleConfigurationEventBuilder);
- field.setAccessible(false);
+
Plugins.getMemberAccessor().set(StandaloneMetaDataManagerPersistService.class.getDeclaredField("ruleConfigurationEventBuilder"),
metaDataManagerPersistService, ruleConfigurationEventBuilder);
}
}
diff --git
a/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/api/SQLParserExecutorTest.java
b/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/api/SQLParserExecutorTest.java
index 8353acb7924..20743e96263 100644
---
a/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/api/SQLParserExecutorTest.java
+++
b/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/api/SQLParserExecutorTest.java
@@ -42,7 +42,7 @@ class SQLParserExecutorTest {
when(sqlParserExecutor.parse(SQL)).thenReturn(mock(ParseASTNode.class));
CacheOption cacheOption = new CacheOption(128, 1024L);
SQLParserEngine sqlParserEngine = new SQLParserEngine("FIXTURE",
cacheOption);
-
Plugins.getMemberAccessor().set(sqlParserEngine.getClass().getDeclaredField("sqlParserExecutor"),
sqlParserEngine, sqlParserExecutor);
+
Plugins.getMemberAccessor().set(SQLParserEngine.class.getDeclaredField("sqlParserExecutor"),
sqlParserEngine, sqlParserExecutor);
LoadingCache<String, ParseASTNode> parseTreeCache =
Caffeine.newBuilder().softValues().initialCapacity(128)
.maximumSize(1024L).build(new CacheLoader<String,
ParseASTNode>() {
@@ -52,7 +52,7 @@ class SQLParserExecutorTest {
return sqlParserExecutor.parse(sql);
}
});
-
Plugins.getMemberAccessor().set(sqlParserEngine.getClass().getDeclaredField("parseTreeCache"),
sqlParserEngine, parseTreeCache);
+
Plugins.getMemberAccessor().set(SQLParserEngine.class.getDeclaredField("parseTreeCache"),
sqlParserEngine, parseTreeCache);
sqlParserEngine.parse(SQL, true);
verify(sqlParserExecutor).parse(SQL);
sqlParserEngine.parse(SQL, true);
diff --git
a/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheLoaderTest.java
b/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheLoaderTest.java
index ef79784ca60..7f3d1ba9689 100644
---
a/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheLoaderTest.java
+++
b/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheLoaderTest.java
@@ -37,7 +37,7 @@ class ParseTreeCacheLoaderTest {
void assertParseTreeCacheLoader() throws ReflectiveOperationException {
SQLParserExecutor sqlParserExecutor = mock(SQLParserExecutor.class,
RETURNS_DEEP_STUBS);
ParseTreeCacheLoader loader = new
ParseTreeCacheLoader(TypedSPILoader.getService(DatabaseType.class, "FIXTURE"));
-
Plugins.getMemberAccessor().set(loader.getClass().getDeclaredField("sqlParserExecutor"),
loader, sqlParserExecutor);
+
Plugins.getMemberAccessor().set(ParseTreeCacheLoader.class.getDeclaredField("sqlParserExecutor"),
loader, sqlParserExecutor);
assertThat(loader.load(SQL), isA(ParseASTNode.class));
}
}
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnectorTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnectorTest.java
index 13d5e36690c..a47753305ad 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnectorTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnectorTest.java
@@ -65,7 +65,6 @@ import org.mockito.Mock;
import org.mockito.MockedStatic;
import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.jupiter.MockitoSettings;
-import org.mockito.plugins.MemberAccessor;
import org.mockito.quality.Strictness;
import java.lang.reflect.Field;
@@ -152,13 +151,12 @@ class DatabaseConnectorTest {
assertThat(engine, instanceOf(DatabaseConnector.class));
Field queryHeadersField =
DatabaseConnector.class.getDeclaredField("queryHeaders");
ShardingSphereDatabase database = createDatabaseMetaData();
- MemberAccessor accessor = Plugins.getMemberAccessor();
try (MockedStatic<DatabaseTypedSPILoader> spiLoader =
mockStatic(DatabaseTypedSPILoader.class)) {
spiLoader.when(() ->
DatabaseTypedSPILoader.getService(QueryHeaderBuilder.class,
TypedSPILoader.getService(DatabaseType.class, "MySQL"))).thenReturn(new
QueryHeaderBuilderFixture());
- accessor.set(queryHeadersField, engine,
+ Plugins.getMemberAccessor().set(queryHeadersField, engine,
Collections.singletonList(new
QueryHeaderBuilderEngine(TypedSPILoader.getService(DatabaseType.class,
"MySQL")).build(createQueryResultMetaData(), database, 1)));
Field mergedResultField =
DatabaseConnector.class.getDeclaredField("mergedResult");
- accessor.set(mergedResultField, engine, new
MemoryMergedResult<ShardingSphereRule>(null, null, null,
Collections.emptyList()) {
+ Plugins.getMemberAccessor().set(mergedResultField, engine, new
MemoryMergedResult<ShardingSphereRule>(null, null, null,
Collections.emptyList()) {
@Override
protected List<MemoryQueryResultRow> init(final
ShardingSphereRule rule, final ShardingSphereSchema schema,
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/MockConnectionUtils.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/MockConnectionUtils.java
index 26b792e836c..fee12dffe8d 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/MockConnectionUtils.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/MockConnectionUtils.java
@@ -47,7 +47,7 @@ final class MockConnectionUtils {
static void setCachedConnections(final ProxyDatabaseConnectionManager
databaseConnectionManager, final String dataSourceName, final int
connectionSize) {
Multimap<String, Connection> cachedConnections = HashMultimap.create();
cachedConnections.putAll(databaseConnectionManager.getConnectionSession().getUsedDatabaseName()
+ "." + dataSourceName, mockNewConnections(connectionSize));
-
Plugins.getMemberAccessor().set(databaseConnectionManager.getClass().getDeclaredField("cachedConnections"),
databaseConnectionManager, cachedConnections);
+
Plugins.getMemberAccessor().set(ProxyDatabaseConnectionManager.class.getDeclaredField("cachedConnections"),
databaseConnectionManager, cachedConnections);
}
/**
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/ProxyDatabaseConnectionManagerTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/ProxyDatabaseConnectionManagerTest.java
index b4633a7aac3..34f70664ee0 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/ProxyDatabaseConnectionManagerTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/ProxyDatabaseConnectionManagerTest.java
@@ -132,7 +132,7 @@ class ProxyDatabaseConnectionManagerTest {
@AfterEach
void clean() throws ReflectiveOperationException {
- Field field =
ProxyContext.getInstance().getClass().getDeclaredField("backendDataSource");
+ Field field = ProxyContext.class.getDeclaredField("backendDataSource");
Object datasource =
field.getType().getDeclaredConstructor().newInstance();
Plugins.getMemberAccessor().set(field, ProxyContext.getInstance(),
datasource);
}
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportDatabaseConfigurationExecutorTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportDatabaseConfigurationExecutorTest.java
index 17177580d9c..8d0f398ccf0 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportDatabaseConfigurationExecutorTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportDatabaseConfigurationExecutorTest.java
@@ -133,9 +133,9 @@ class ImportDatabaseConfigurationExecutorTest {
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
executor = new ImportDatabaseConfigurationExecutor();
YamlDatabaseConfigurationImportExecutor databaseConfigImportExecutor =
new YamlDatabaseConfigurationImportExecutor();
-
Plugins.getMemberAccessor().set(executor.getClass().getDeclaredField("databaseConfigImportExecutor"),
executor, databaseConfigImportExecutor);
+
Plugins.getMemberAccessor().set(ImportDatabaseConfigurationExecutor.class.getDeclaredField("databaseConfigImportExecutor"),
executor, databaseConfigImportExecutor);
Plugins.getMemberAccessor().set(
-
databaseConfigImportExecutor.getClass().getDeclaredField("validateHandler"),
databaseConfigImportExecutor,
mock(DistSQLDataSourcePoolPropertiesValidator.class));
+
YamlDatabaseConfigurationImportExecutor.class.getDeclaredField("validateHandler"),
databaseConfigImportExecutor,
mock(DistSQLDataSourcePoolPropertiesValidator.class));
}
private ContextManager mockContextManager(final String databaseName) {
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataExecutorTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataExecutorTest.java
index dc1868db954..58b0e953b0e 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataExecutorTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataExecutorTest.java
@@ -118,9 +118,9 @@ class ImportMetaDataExecutorTest {
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
when(ProxyContext.getInstance().databaseExists(feature)).thenReturn(true);
YamlDatabaseConfigurationImportExecutor databaseConfigImportExecutor =
new YamlDatabaseConfigurationImportExecutor();
-
Plugins.getMemberAccessor().set(executor.getClass().getDeclaredField("databaseConfigImportExecutor"),
executor, databaseConfigImportExecutor);
-
Plugins.getMemberAccessor().set(databaseConfigImportExecutor.getClass().getDeclaredField("validateHandler"),
databaseConfigImportExecutor,
- mock(DistSQLDataSourcePoolPropertiesValidator.class));
+
Plugins.getMemberAccessor().set(ImportMetaDataExecutor.class.getDeclaredField("databaseConfigImportExecutor"),
executor, databaseConfigImportExecutor);
+ Plugins.getMemberAccessor().set(
+
YamlDatabaseConfigurationImportExecutor.class.getDeclaredField("validateHandler"),
databaseConfigImportExecutor,
mock(DistSQLDataSourcePoolPropertiesValidator.class));
}
private ContextManager mockContextManager(final String feature) {
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionBackendHandlerFactoryTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionBackendHandlerFactoryTest.java
index b0492aab0ca..eb7881bda26 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionBackendHandlerFactoryTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionBackendHandlerFactoryTest.java
@@ -130,6 +130,6 @@ class TransactionBackendHandlerFactoryTest {
@SneakyThrows(ReflectiveOperationException.class)
private BackendTransactionManager getBackendTransactionManager(final
TransactionBackendHandler transactionBackendHandler) {
- return (BackendTransactionManager)
Plugins.getMemberAccessor().get(transactionBackendHandler.getClass().getDeclaredField("backendTransactionManager"),
transactionBackendHandler);
+ return (BackendTransactionManager)
Plugins.getMemberAccessor().get(TransactionBackendHandler.class.getDeclaredField("backendTransactionManager"),
transactionBackendHandler);
}
}
diff --git
a/proxy/frontend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLComQueryPacketExecutorTest.java
b/proxy/frontend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLComQueryPacketExecutorTest.java
index 6f5803b1a88..93dbb02dc2c 100644
---
a/proxy/frontend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLComQueryPacketExecutorTest.java
+++
b/proxy/frontend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLComQueryPacketExecutorTest.java
@@ -58,7 +58,6 @@ import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.jupiter.MockitoSettings;
-import org.mockito.plugins.MemberAccessor;
import org.mockito.quality.Strictness;
import java.sql.SQLException;
@@ -100,8 +99,7 @@ class MySQLComQueryPacketExecutorTest {
@Test
void assertIsQueryResponse() throws SQLException, NoSuchFieldException,
IllegalAccessException {
MySQLComQueryPacketExecutor mysqlComQueryPacketExecutor = new
MySQLComQueryPacketExecutor(packet, connectionSession);
- MemberAccessor accessor = Plugins.getMemberAccessor();
-
accessor.set(MySQLComQueryPacketExecutor.class.getDeclaredField("proxyBackendHandler"),
mysqlComQueryPacketExecutor, proxyBackendHandler);
+
Plugins.getMemberAccessor().set(MySQLComQueryPacketExecutor.class.getDeclaredField("proxyBackendHandler"),
mysqlComQueryPacketExecutor, proxyBackendHandler);
QueryHeader queryHeader = mock(QueryHeader.class);
when(queryHeader.getColumnTypeName()).thenReturn("VARCHAR");
when(proxyBackendHandler.execute()).thenReturn(new
QueryResponseHeader(Collections.singletonList(queryHeader)));
@@ -112,8 +110,7 @@ class MySQLComQueryPacketExecutorTest {
@Test
void assertIsUpdateResponse() throws SQLException, NoSuchFieldException,
IllegalAccessException {
MySQLComQueryPacketExecutor mysqlComQueryPacketExecutor = new
MySQLComQueryPacketExecutor(packet, connectionSession);
- MemberAccessor accessor = Plugins.getMemberAccessor();
-
accessor.set(MySQLComQueryPacketExecutor.class.getDeclaredField("proxyBackendHandler"),
mysqlComQueryPacketExecutor, proxyBackendHandler);
+
Plugins.getMemberAccessor().set(MySQLComQueryPacketExecutor.class.getDeclaredField("proxyBackendHandler"),
mysqlComQueryPacketExecutor, proxyBackendHandler);
when(proxyBackendHandler.execute()).thenReturn(new
UpdateResponseHeader(mock(SQLStatement.class)));
mysqlComQueryPacketExecutor.execute();
assertThat(mysqlComQueryPacketExecutor.getResponseType(),
is(ResponseType.UPDATE));
@@ -130,8 +127,7 @@ class MySQLComQueryPacketExecutorTest {
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
MySQLComQueryPacketExecutor actual = new
MySQLComQueryPacketExecutor(packet, connectionSession);
- MemberAccessor accessor = Plugins.getMemberAccessor();
-
accessor.set(MySQLComQueryPacketExecutor.class.getDeclaredField("proxyBackendHandler"),
actual, proxyBackendHandler);
+
Plugins.getMemberAccessor().set(MySQLComQueryPacketExecutor.class.getDeclaredField("proxyBackendHandler"),
actual, proxyBackendHandler);
when(proxyBackendHandler.execute()).thenReturn(new
UpdateResponseHeader(mock(SQLStatement.class)));
Collection<DatabasePacket> actualPackets = actual.execute();
assertThat(actualPackets.size(), is(1));
@@ -163,8 +159,7 @@ class MySQLComQueryPacketExecutorTest {
@Test
void assertNext() throws SQLException, NoSuchFieldException,
IllegalAccessException {
MySQLComQueryPacketExecutor actual = new
MySQLComQueryPacketExecutor(packet, connectionSession);
- MemberAccessor accessor = Plugins.getMemberAccessor();
-
accessor.set(MySQLComQueryPacketExecutor.class.getDeclaredField("proxyBackendHandler"),
actual, proxyBackendHandler);
+
Plugins.getMemberAccessor().set(MySQLComQueryPacketExecutor.class.getDeclaredField("proxyBackendHandler"),
actual, proxyBackendHandler);
when(proxyBackendHandler.next()).thenReturn(true, false);
assertTrue(actual.next());
assertFalse(actual.next());
@@ -178,8 +173,7 @@ class MySQLComQueryPacketExecutorTest {
@Test
void assertClose() throws SQLException, NoSuchFieldException,
IllegalAccessException {
MySQLComQueryPacketExecutor actual = new
MySQLComQueryPacketExecutor(packet, connectionSession);
- MemberAccessor accessor = Plugins.getMemberAccessor();
-
accessor.set(MySQLComQueryPacketExecutor.class.getDeclaredField("proxyBackendHandler"),
actual, proxyBackendHandler);
+
Plugins.getMemberAccessor().set(MySQLComQueryPacketExecutor.class.getDeclaredField("proxyBackendHandler"),
actual, proxyBackendHandler);
actual.close();
verify(proxyBackendHandler).close();
}