You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2022/12/19 08:55:48 UTC

[shardingsphere] branch master updated: Rename MethodAdvisorBuilder (#22969)

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

zhaojinchao 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 5394db038f3 Rename MethodAdvisorBuilder (#22969)
5394db038f3 is described below

commit 5394db038f38c7468158f195d7a0a5e48af7e904
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Mon Dec 19 16:55:41 2022 +0800

    Rename MethodAdvisorBuilder (#22969)
    
    * Rename AdviceExecutor.buildAdvisor()
    
    * Rename MethodAdvisorBuilder
---
 .../agent/core/plugin/executor/AdviceExecutor.java |  6 ++---
 .../executor/type/ConstructorAdviceExecutor.java   |  2 +-
 .../type/InstanceMethodAdviceExecutor.java         |  2 +-
 .../executor/type/StaticMethodAdviceExecutor.java  |  2 +-
 .../agent/core/transformer/AgentTransformer.java   |  8 +++----
 .../MethodAdvisorBuilder.java}                     | 28 +++++++++++-----------
 .../{build => builder}/advise/AdviceFactory.java   |  2 +-
 .../advise/JDBCAdviceFactory.java                  |  2 +-
 .../advise/ProxyAdviceFactory.java                 |  2 +-
 9 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/AdviceExecutor.java b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/AdviceExecutor.java
index e8574f80306..3eb9937c82c 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/AdviceExecutor.java
+++ b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/AdviceExecutor.java
@@ -26,11 +26,11 @@ import org.apache.shardingsphere.agent.core.transformer.MethodAdvisor;
 public interface AdviceExecutor {
     
     /**
-     * Create method advisor builder.
+     * Build method advisor.
      *
      * @param builder original builder
      * @param methodAdvisor method advisor
-     * @return created builder
+     * @return built builder
      */
-    Builder<?> create(Builder<?> builder, MethodAdvisor methodAdvisor);
+    Builder<?> buildAdvisor(Builder<?> builder, MethodAdvisor methodAdvisor);
 }
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/type/ConstructorAdviceExecutor.java b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/type/ConstructorAdviceExecutor.java
index 9315aac723c..eb7cb9555c8 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/type/ConstructorAdviceExecutor.java
+++ b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/type/ConstructorAdviceExecutor.java
@@ -68,7 +68,7 @@ public final class ConstructorAdviceExecutor implements AdviceExecutor {
     }
     
     @Override
-    public Builder<?> create(final Builder<?> builder, final MethodAdvisor methodAdvisor) {
+    public Builder<?> buildAdvisor(final Builder<?> builder, final MethodAdvisor methodAdvisor) {
         return builder.constructor(ElementMatchers.is(methodAdvisor.getPointcut()))
                 .intercept(SuperMethodCall.INSTANCE.andThen(MethodDelegation.withDefaultConfiguration().to(methodAdvisor.getAdviceExecutor())));
     }
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/type/InstanceMethodAdviceExecutor.java b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/type/InstanceMethodAdviceExecutor.java
index 328ef8e5d41..e1bb9ad677f 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/type/InstanceMethodAdviceExecutor.java
+++ b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/type/InstanceMethodAdviceExecutor.java
@@ -122,7 +122,7 @@ public final class InstanceMethodAdviceExecutor implements AdviceExecutor {
     }
     
     @Override
-    public Builder<?> create(final Builder<?> builder, final MethodAdvisor methodAdvisor) {
+    public Builder<?> buildAdvisor(final Builder<?> builder, final MethodAdvisor methodAdvisor) {
         return builder.method(ElementMatchers.is(methodAdvisor.getPointcut())).intercept(MethodDelegation.withDefaultConfiguration().to(methodAdvisor.getAdviceExecutor()));
     }
 }
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/type/StaticMethodAdviceExecutor.java b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/type/StaticMethodAdviceExecutor.java
index cb0a0191482..814b7a75825 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/type/StaticMethodAdviceExecutor.java
+++ b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/executor/type/StaticMethodAdviceExecutor.java
@@ -120,7 +120,7 @@ public final class StaticMethodAdviceExecutor implements AdviceExecutor {
     }
     
     @Override
-    public Builder<?> create(final Builder<?> builder, final MethodAdvisor methodAdvisor) {
+    public Builder<?> buildAdvisor(final Builder<?> builder, final MethodAdvisor methodAdvisor) {
         return builder.method(ElementMatchers.is(methodAdvisor.getPointcut())).intercept(MethodDelegation.withDefaultConfiguration().to(methodAdvisor.getAdviceExecutor()));
     }
 }
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/AgentTransformer.java b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/AgentTransformer.java
index 16969430a64..3fdfc7f7c55 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/AgentTransformer.java
+++ b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/AgentTransformer.java
@@ -28,8 +28,8 @@ import org.apache.shardingsphere.agent.advice.TargetAdviceObject;
 import org.apache.shardingsphere.agent.config.advisor.AdvisorConfiguration;
 import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
 import org.apache.shardingsphere.agent.core.plugin.PluginJar;
-import org.apache.shardingsphere.agent.core.transformer.build.MethodAdvisorBuildEngine;
-import org.apache.shardingsphere.agent.core.transformer.build.advise.AdviceFactory;
+import org.apache.shardingsphere.agent.core.transformer.builder.MethodAdvisorBuilder;
+import org.apache.shardingsphere.agent.core.transformer.builder.advise.AdviceFactory;
 
 import java.util.Collection;
 import java.util.Map;
@@ -57,9 +57,9 @@ public final class AgentTransformer implements Transformer {
             return builder;
         }
         Builder<?> result = builder.defineField(EXTRA_DATA, Object.class, Opcodes.ACC_PRIVATE | Opcodes.ACC_VOLATILE).implement(TargetAdviceObject.class).intercept(FieldAccessor.ofField(EXTRA_DATA));
-        AdvisorConfiguration advisorConfig = advisorConfigs.get(typeDescription.getTypeName());
         AdviceFactory adviceFactory = new AdviceFactory(classLoader, pluginConfigs, pluginJars, isEnhancedForProxy);
-        result = new MethodAdvisorBuildEngine(adviceFactory, advisorConfig.getAdvisors(), typeDescription).create(result);
+        AdvisorConfiguration advisorConfig = advisorConfigs.get(typeDescription.getTypeName());
+        result = new MethodAdvisorBuilder(adviceFactory, advisorConfig, typeDescription).build(result);
         return result;
     }
 }
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/build/MethodAdvisorBuildEngine.java b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/builder/MethodAdvisorBuilder.java
similarity index 87%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/build/MethodAdvisorBuildEngine.java
rename to agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/builder/MethodAdvisorBuilder.java
index 21b37a225e4..2c1de5fc5d2 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/build/MethodAdvisorBuildEngine.java
+++ b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/builder/MethodAdvisorBuilder.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.transformer.build;
+package org.apache.shardingsphere.agent.core.transformer.builder;
 
 import lombok.RequiredArgsConstructor;
 import net.bytebuddy.description.method.MethodDescription.InDefinedShape;
@@ -24,43 +24,43 @@ import net.bytebuddy.dynamic.DynamicType.Builder;
 import org.apache.shardingsphere.agent.advice.type.ConstructorAdvice;
 import org.apache.shardingsphere.agent.advice.type.InstanceMethodAdvice;
 import org.apache.shardingsphere.agent.advice.type.StaticMethodAdvice;
-import org.apache.shardingsphere.agent.config.advisor.MethodAdvisorConfiguration;
+import org.apache.shardingsphere.agent.config.advisor.AdvisorConfiguration;
 import org.apache.shardingsphere.agent.core.logging.LoggerFactory;
 import org.apache.shardingsphere.agent.core.plugin.executor.type.ConstructorAdviceExecutor;
 import org.apache.shardingsphere.agent.core.plugin.executor.type.InstanceMethodAdviceExecutor;
 import org.apache.shardingsphere.agent.core.plugin.executor.type.StaticMethodAdviceExecutor;
 import org.apache.shardingsphere.agent.core.transformer.MethodAdvisor;
-import org.apache.shardingsphere.agent.core.transformer.build.advise.AdviceFactory;
+import org.apache.shardingsphere.agent.core.transformer.builder.advise.AdviceFactory;
 
 import java.util.Collection;
 import java.util.LinkedList;
 import java.util.stream.Collectors;
 
 /**
- * Method advisor build engine.
+ * Method advisor builder.
  */
 @RequiredArgsConstructor
-public final class MethodAdvisorBuildEngine {
+public final class MethodAdvisorBuilder {
     
-    private static final LoggerFactory.Logger LOGGER = LoggerFactory.getLogger(MethodAdvisorBuildEngine.class);
+    private static final LoggerFactory.Logger LOGGER = LoggerFactory.getLogger(MethodAdvisorBuilder.class);
     
     private final AdviceFactory adviceFactory;
     
-    private final Collection<MethodAdvisorConfiguration> advisorConfigs;
+    private final AdvisorConfiguration advisorConfig;
     
     private final TypeDescription typePointcut;
     
     /**
-     * Create method advisor builder.
+     * Build method advisor builder.
      * 
      * @param builder original builder
-     * @return created builder
+     * @return built builder
      */
-    public Builder<?> create(final Builder<?> builder) {
+    public Builder<?> build(final Builder<?> builder) {
         Builder<?> result = builder;
         for (MethodAdvisor each : getMatchedMethodAdvisors()) {
             try {
-                result = each.getAdviceExecutor().create(result, each);
+                result = each.getAdviceExecutor().buildAdvisor(result, each);
                 // CHECKSTYLE:OFF
             } catch (final Throwable ex) {
                 // CHECKSTYLE:ON
@@ -81,15 +81,15 @@ public final class MethodAdvisorBuildEngine {
     private Collection<MethodAdvisor> getMatchedMethodAdvisors(final InDefinedShape methodDescription) {
         Collection<MethodAdvisor> result = new LinkedList<>();
         if (isConstructor(methodDescription)) {
-            Collection<ConstructorAdvice> advices = advisorConfigs.stream()
+            Collection<ConstructorAdvice> advices = advisorConfig.getAdvisors().stream()
                     .filter(each -> each.getPointcut().matches(methodDescription)).map(each -> (ConstructorAdvice) adviceFactory.getAdvice(each.getAdviceClassName())).collect(Collectors.toList());
             result.add(new MethodAdvisor(methodDescription, new ConstructorAdviceExecutor(advices)));
         } else if (isStaticMethod(methodDescription)) {
-            Collection<StaticMethodAdvice> advices = advisorConfigs.stream()
+            Collection<StaticMethodAdvice> advices = advisorConfig.getAdvisors().stream()
                     .filter(each -> each.getPointcut().matches(methodDescription)).map(each -> (StaticMethodAdvice) adviceFactory.getAdvice(each.getAdviceClassName())).collect(Collectors.toList());
             result.add(new MethodAdvisor(methodDescription, new StaticMethodAdviceExecutor(advices)));
         } else if (isMethod(methodDescription)) {
-            Collection<InstanceMethodAdvice> advices = advisorConfigs.stream()
+            Collection<InstanceMethodAdvice> advices = advisorConfig.getAdvisors().stream()
                     .filter(each -> each.getPointcut().matches(methodDescription)).map(each -> (InstanceMethodAdvice) adviceFactory.getAdvice(each.getAdviceClassName())).collect(Collectors.toList());
             result.add(new MethodAdvisor(methodDescription, new InstanceMethodAdviceExecutor(advices)));
         }
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/build/advise/AdviceFactory.java b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/builder/advise/AdviceFactory.java
similarity index 96%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/build/advise/AdviceFactory.java
rename to agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/builder/advise/AdviceFactory.java
index d2609112d7d..c35db8668a4 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/build/advise/AdviceFactory.java
+++ b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/builder/advise/AdviceFactory.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.transformer.build.advise;
+package org.apache.shardingsphere.agent.core.transformer.builder.advise;
 
 import org.apache.shardingsphere.agent.advice.AgentAdvice;
 import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/build/advise/JDBCAdviceFactory.java b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/builder/advise/JDBCAdviceFactory.java
similarity index 97%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/build/advise/JDBCAdviceFactory.java
rename to agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/builder/advise/JDBCAdviceFactory.java
index 2e7db63c73e..9b4255b8ce3 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/build/advise/JDBCAdviceFactory.java
+++ b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/builder/advise/JDBCAdviceFactory.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.transformer.build.advise;
+package org.apache.shardingsphere.agent.core.transformer.builder.advise;
 
 import lombok.RequiredArgsConstructor;
 import lombok.SneakyThrows;
diff --git a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/build/advise/ProxyAdviceFactory.java b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/builder/advise/ProxyAdviceFactory.java
similarity index 96%
rename from agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/build/advise/ProxyAdviceFactory.java
rename to agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/builder/advise/ProxyAdviceFactory.java
index 4750a222c76..7353023b40a 100644
--- a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/build/advise/ProxyAdviceFactory.java
+++ b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/transformer/builder/advise/ProxyAdviceFactory.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.agent.core.transformer.build.advise;
+package org.apache.shardingsphere.agent.core.transformer.builder.advise;
 
 import lombok.RequiredArgsConstructor;
 import lombok.SneakyThrows;