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 <[email protected]>
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());