You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by su...@apache.org on 2022/12/20 12:52:58 UTC

[shardingsphere] branch master updated: Refactor YamlAdvisorsConfigurationSwapper and YamlAdvisorsConfigurationLoader as static (#22997)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new ef2467fe41e Refactor YamlAdvisorsConfigurationSwapper and YamlAdvisorsConfigurationLoader as static (#22997)
ef2467fe41e is described below

commit ef2467fe41e322c2e2dd2509a3e1cbd085b12510
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Tue Dec 20 20:52:51 2022 +0800

    Refactor YamlAdvisorsConfigurationSwapper and YamlAdvisorsConfigurationLoader as static (#22997)
    
    * Refactor YamlAdvisorsConfigurationSwapper and YamlAdvisorsConfigurationLoader as static
---
 .../agent/core/plugin/loader/AdvisorConfigurationLoader.java     | 7 ++-----
 .../core/plugin/yaml/loader/YamlAdvisorsConfigurationLoader.java | 5 ++++-
 .../plugin/yaml/swapper/YamlAdvisorConfigurationSwapper.java     | 9 +++++----
 .../plugin/yaml/swapper/YamlAdvisorsConfigurationSwapper.java    | 9 +++++----
 .../plugin/yaml/swapper/YamlPointcutConfigurationSwapper.java    | 7 +++++--
 .../plugin/yaml/loader/YamlAdvisorsConfigurationLoaderTest.java  | 4 ++--
 .../yaml/swapper/YamlAdvisorsConfigurationSwapperTest.java       | 2 +-
 7 files changed, 24 insertions(+), 19 deletions(-)

diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/AdvisorConfigurationLoader.java b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/AdvisorConfigurationLoader.java
index c28b7a116cd..decd30b2d92 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/AdvisorConfigurationLoader.java
+++ b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/loader/AdvisorConfigurationLoader.java
@@ -40,10 +40,6 @@ import java.util.stream.Collectors;
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class AdvisorConfigurationLoader {
     
-    private static final YamlAdvisorsConfigurationLoader LOADER = new YamlAdvisorsConfigurationLoader();
-    
-    private static final YamlAdvisorsConfigurationSwapper SWAPPER = new YamlAdvisorsConfigurationSwapper();
-    
     /**
      * Load advisor configurations.
      * 
@@ -58,7 +54,8 @@ public final class AdvisorConfigurationLoader {
         for (PluginBootService each : PluginServiceLoader.newServiceInstances(PluginBootService.class, AgentClassLoader.getClassLoader())) {
             if (pluginTypes.contains(each.getType())) {
                 String resourceFile = String.join("/", "", each.getType().toLowerCase(), (isEnhancedForProxy ? "proxy" : "jdbc") + "-advisors.yaml");
-                Collection<AdvisorConfiguration> advisorConfigs = SWAPPER.swapToObject(LOADER.load(each.getClass().getResourceAsStream(resourceFile)), each.getType());
+                Collection<AdvisorConfiguration> advisorConfigs = YamlAdvisorsConfigurationSwapper.swapToObject(
+                        YamlAdvisorsConfigurationLoader.load(each.getClass().getResourceAsStream(resourceFile)), each.getType());
                 result.putAll(advisorConfigs.stream().collect(Collectors.toMap(AdvisorConfiguration::getTargetClassName, Function.identity())));
             }
         }
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/YamlAdvisorsConfigurationLoader.java b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/YamlAdvisorsConfigurationLoader.java
index 334d98f8b50..8feb3d32433 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/YamlAdvisorsConfigurationLoader.java
+++ b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/YamlAdvisorsConfigurationLoader.java
@@ -17,6 +17,8 @@
 
 package org.apache.shardingsphere.agent.core.plugin.yaml.loader;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.agent.core.plugin.yaml.entity.YamlAdvisorsConfiguration;
 import org.yaml.snakeyaml.Yaml;
 
@@ -25,6 +27,7 @@ import java.io.InputStream;
 /**
  * YAML advisors configuration loader.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class YamlAdvisorsConfigurationLoader {
     
     /**
@@ -33,7 +36,7 @@ public final class YamlAdvisorsConfigurationLoader {
      * @param inputStream input stream
      * @return loaded advisors configuration
      */
-    public YamlAdvisorsConfiguration load(final InputStream inputStream) {
+    public static YamlAdvisorsConfiguration load(final InputStream inputStream) {
         YamlAdvisorsConfiguration result = new Yaml().loadAs(inputStream, YamlAdvisorsConfiguration.class);
         return null == result ? new YamlAdvisorsConfiguration() : result;
     }
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorConfigurationSwapper.java b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorConfigurationSwapper.java
index 5047b5cb1ef..00a4e9acad2 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorConfigurationSwapper.java
+++ b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorConfigurationSwapper.java
@@ -17,6 +17,8 @@
 
 package org.apache.shardingsphere.agent.core.plugin.yaml.swapper;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.agent.config.advisor.AdvisorConfiguration;
 import org.apache.shardingsphere.agent.config.advisor.MethodAdvisorConfiguration;
 import org.apache.shardingsphere.agent.core.plugin.advisor.AdvisorConfigurationRegistryFactory;
@@ -26,10 +28,9 @@ import org.apache.shardingsphere.agent.core.plugin.yaml.entity.YamlPointcutConfi
 /**
  * YAML advisor configuration swapper.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class YamlAdvisorConfigurationSwapper {
     
-    private final YamlPointcutConfigurationSwapper pointcutConfigurationSwapper = new YamlPointcutConfigurationSwapper();
-    
     /**
      * Swap from YAML advisor configuration to advisors configuration.
      * 
@@ -37,10 +38,10 @@ public final class YamlAdvisorConfigurationSwapper {
      * @param type type
      * @return advisor configuration
      */
-    public AdvisorConfiguration swapToObject(final YamlAdvisorConfiguration yamlAdvisorConfig, final String type) {
+    public static AdvisorConfiguration swapToObject(final YamlAdvisorConfiguration yamlAdvisorConfig, final String type) {
         AdvisorConfiguration result = AdvisorConfigurationRegistryFactory.getRegistry(type).getAdvisorConfiguration(yamlAdvisorConfig.getTarget());
         for (YamlPointcutConfiguration each : yamlAdvisorConfig.getPointcuts()) {
-            pointcutConfigurationSwapper.swapToObject(each).ifPresent(elementMatcher -> result.getAdvisors().add(new MethodAdvisorConfiguration(elementMatcher, yamlAdvisorConfig.getAdvice())));
+            YamlPointcutConfigurationSwapper.swapToObject(each).ifPresent(elementMatcher -> result.getAdvisors().add(new MethodAdvisorConfiguration(elementMatcher, yamlAdvisorConfig.getAdvice())));
         }
         return result;
     }
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorsConfigurationSwapper.java b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorsConfigurationSwapper.java
index 09c466035fd..fa8136f0685 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorsConfigurationSwapper.java
+++ b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorsConfigurationSwapper.java
@@ -17,6 +17,8 @@
 
 package org.apache.shardingsphere.agent.core.plugin.yaml.swapper;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.agent.config.advisor.AdvisorConfiguration;
 import org.apache.shardingsphere.agent.core.plugin.yaml.entity.YamlAdvisorConfiguration;
 import org.apache.shardingsphere.agent.core.plugin.yaml.entity.YamlAdvisorsConfiguration;
@@ -27,10 +29,9 @@ import java.util.LinkedList;
 /**
  * YAML advisors configuration swapper.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class YamlAdvisorsConfigurationSwapper {
     
-    private final YamlAdvisorConfigurationSwapper advisorConfigurationSwapper = new YamlAdvisorConfigurationSwapper();
-    
     /**
      * Swap from YAML advisors configuration to advisor configurations.
      * 
@@ -38,11 +39,11 @@ public final class YamlAdvisorsConfigurationSwapper {
      * @param type type
      * @return advisor configurations
      */
-    public Collection<AdvisorConfiguration> swapToObject(final YamlAdvisorsConfiguration yamlAdvisorsConfig, final String type) {
+    public static Collection<AdvisorConfiguration> swapToObject(final YamlAdvisorsConfiguration yamlAdvisorsConfig, final String type) {
         Collection<AdvisorConfiguration> result = new LinkedList<>();
         for (YamlAdvisorConfiguration each : yamlAdvisorsConfig.getAdvisors()) {
             if (null != each.getTarget()) {
-                result.add(advisorConfigurationSwapper.swapToObject(each, type));
+                result.add(YamlAdvisorConfigurationSwapper.swapToObject(each, type));
             }
         }
         return result;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlPointcutConfigurationSwapper.java b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlPointcutConfigurationSwapper.java
index cc364dd5001..24840bf1848 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlPointcutConfigurationSwapper.java
+++ b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlPointcutConfigurationSwapper.java
@@ -17,6 +17,8 @@
 
 package org.apache.shardingsphere.agent.core.plugin.yaml.swapper;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import net.bytebuddy.description.method.MethodDescription;
 import net.bytebuddy.matcher.ElementMatcher;
 import net.bytebuddy.matcher.ElementMatcher.Junction;
@@ -29,6 +31,7 @@ import java.util.Optional;
 /**
  * YAML pointcut configuration swapper.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class YamlPointcutConfigurationSwapper {
     
     /**
@@ -37,7 +40,7 @@ public final class YamlPointcutConfigurationSwapper {
      * @param yamlPointcutConfig YAML pointcut configuration
      * @return pointcut
      */
-    public Optional<ElementMatcher<? super MethodDescription>> swapToObject(final YamlPointcutConfiguration yamlPointcutConfig) {
+    public static Optional<ElementMatcher<? super MethodDescription>> swapToObject(final YamlPointcutConfiguration yamlPointcutConfig) {
         if ("constructor".equals(yamlPointcutConfig.getType())) {
             return Optional.of(appendParameters(yamlPointcutConfig, ElementMatchers.isConstructor()));
         }
@@ -47,7 +50,7 @@ public final class YamlPointcutConfigurationSwapper {
         return Optional.empty();
     }
     
-    private ElementMatcher<? super MethodDescription> appendParameters(final YamlPointcutConfiguration yamlPointcutConfig, final Junction<? super MethodDescription> pointcut) {
+    private static ElementMatcher<? super MethodDescription> appendParameters(final YamlPointcutConfiguration yamlPointcutConfig, final Junction<? super MethodDescription> pointcut) {
         Junction<? super MethodDescription> result = pointcut;
         for (YamlPointcutParameterConfiguration each : yamlPointcutConfig.getParams()) {
             result = result.and(ElementMatchers.takesArgument(each.getIndex(), ElementMatchers.named(each.getName())));
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/YamlAdvisorsConfigurationLoaderTest.java b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/YamlAdvisorsConfigurationLoaderTest.java
index 95c1a5829ce..e07de5a893d 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/YamlAdvisorsConfigurationLoaderTest.java
+++ b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/YamlAdvisorsConfigurationLoaderTest.java
@@ -36,7 +36,7 @@ public final class YamlAdvisorsConfigurationLoaderTest {
     
     @Test
     public void assertLoad() {
-        YamlAdvisorsConfiguration actual = new YamlAdvisorsConfigurationLoader().load(getClass().getResourceAsStream("/conf/advisors.yaml"));
+        YamlAdvisorsConfiguration actual = YamlAdvisorsConfigurationLoader.load(getClass().getResourceAsStream("/conf/advisors.yaml"));
         assertThat(actual.getAdvisors().size(), is(1));
         assertYamlAdvisorConfiguration(actual.getAdvisors().iterator().next());
     }
@@ -84,7 +84,7 @@ public final class YamlAdvisorsConfigurationLoaderTest {
     
     @Test
     public void assertLoadEmptyFile() {
-        YamlAdvisorsConfiguration actual = new YamlAdvisorsConfigurationLoader().load(getClass().getResourceAsStream("/conf/empty-advisors.yaml"));
+        YamlAdvisorsConfiguration actual = YamlAdvisorsConfigurationLoader.load(getClass().getResourceAsStream("/conf/empty-advisors.yaml"));
         assertTrue(actual.getAdvisors().isEmpty());
     }
 }
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorsConfigurationSwapperTest.java b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorsConfigurationSwapperTest.java
index 844ac494474..fde7798e104 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorsConfigurationSwapperTest.java
+++ b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/swapper/YamlAdvisorsConfigurationSwapperTest.java
@@ -37,7 +37,7 @@ public final class YamlAdvisorsConfigurationSwapperTest {
     
     @Test
     public void assertSwapToObject() {
-        Collection<AdvisorConfiguration> actual = new YamlAdvisorsConfigurationSwapper().swapToObject(
+        Collection<AdvisorConfiguration> actual = YamlAdvisorsConfigurationSwapper.swapToObject(
                 new Yaml().loadAs(getClass().getResourceAsStream("/conf/advisors.yaml"), YamlAdvisorsConfiguration.class), "YAML_FIXTURE");
         assertThat(actual.size(), is(1));
         assertAdvisorConfiguration(actual.iterator().next());