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());