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

panjuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new c0f86c6296d Fix sonar could issue of PluginContext (#25527)
c0f86c6296d is described below

commit c0f86c6296d1b8aa55a65b85e57f0a5bec8c7585
Author: Liang Zhang <[email protected]>
AuthorDate: Tue May 9 08:03:45 2023 +0800

    Fix sonar could issue of PluginContext (#25527)
---
 .../shardingsphere/agent/core/plugin/PluginContext.java | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git 
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginContext.java
 
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginContext.java
index a4591180d6d..12ff8cc2818 100644
--- 
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginContext.java
+++ 
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/PluginContext.java
@@ -22,7 +22,6 @@ import lombok.NoArgsConstructor;
 import lombok.Setter;
 import org.apache.shardingsphere.agent.core.util.AgentReflectionUtils;
 import org.apache.shardingsphere.driver.ShardingSphereDriver;
-import 
org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource;
 import org.apache.shardingsphere.driver.jdbc.core.driver.DriverDataSourceCache;
 import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
 import org.apache.shardingsphere.mode.manager.ContextManager;
@@ -66,25 +65,21 @@ public final class PluginContext {
         if (null == contextManager) {
             contextManager = getContextManager().orElse(null);
         }
-        return null == contextManager ? true : 
contextManager.getMetaDataContexts().getMetaData().getProps().getValue(ConfigurationPropertyKey.AGENT_PLUGINS_ENABLED);
+        return null == contextManager || 
contextManager.getMetaDataContexts().getMetaData().getProps().<Boolean>getValue(ConfigurationPropertyKey.AGENT_PLUGINS_ENABLED);
     }
     
     private Optional<ContextManager> getContextManager() {
         if (enhancedForProxy) {
             return 
Optional.ofNullable(ProxyContext.getInstance().getContextManager());
         }
-        Optional<ShardingSphereDriver> shardingSphereDriverOptional = 
getShardingSphereDriver();
-        if (!shardingSphereDriverOptional.isPresent()) {
+        Optional<ShardingSphereDriver> shardingSphereDriver = 
getShardingSphereDriver();
+        if (!shardingSphereDriver.isPresent()) {
             return Optional.empty();
         }
-        DriverDataSourceCache dataSourceCache = 
AgentReflectionUtils.getFieldValue(shardingSphereDriverOptional.get(), 
"dataSourceCache");
+        DriverDataSourceCache dataSourceCache = 
AgentReflectionUtils.getFieldValue(shardingSphereDriver.get(), 
"dataSourceCache");
         Map<String, DataSource> dataSourceMap = 
AgentReflectionUtils.getFieldValue(dataSourceCache, "dataSourceMap");
-        for (Map.Entry<String, DataSource> entry : dataSourceMap.entrySet()) {
-            ShardingSphereDataSource shardingSphereDataSource = 
(ShardingSphereDataSource) entry.getValue();
-            ContextManager result = 
AgentReflectionUtils.getFieldValue(shardingSphereDataSource, "contextManager");
-            return Optional.ofNullable(result);
-        }
-        return Optional.empty();
+        return dataSourceMap.isEmpty() ? Optional.empty() : 
Optional.ofNullable(AgentReflectionUtils.getFieldValue(dataSourceMap.values().iterator().next(),
 "contextManager"));
+        
     }
     
     private Optional<ShardingSphereDriver> getShardingSphereDriver() {

Reply via email to