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

wuweijie 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 b95a209  Refactor ShardingSphereTransformer (#12705)
b95a209 is described below

commit b95a209350e88584265435a8bd60a4988e81c73d
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Sep 25 14:11:35 2021 +0800

    Refactor ShardingSphereTransformer (#12705)
    
    * Refactor ShardingSphereTransformer
    
    * Refactor ShardingSphereTransformer
    
    * For code format
---
 .../ShardingSphereTransformationPoint.java         |   2 +-
 .../transformer/ShardingSphereTransformer.java     | 165 +++++++++++----------
 .../advice/ComposeConstructorAdvice.java           |   4 +-
 .../agent/core/entity/Interceptors.java            |   6 +-
 .../compose/ComposeConstructorInterceptor.java     |   4 +-
 ...mposeInstanceMethodInterceptorArgsOverride.java |   4 +
 .../PrometheusPluginDefinitionService.java         |  26 ++--
 7 files changed, 109 insertions(+), 102 deletions(-)

diff --git 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/bytebuddy/transformer/ShardingSphereTransformationPoint.java
 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/bytebuddy/transformer/ShardingSphereTransformationPoint.java
index bd46156..8fd4c41 100644
--- 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/bytebuddy/transformer/ShardingSphereTransformationPoint.java
+++ 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/bytebuddy/transformer/ShardingSphereTransformationPoint.java
@@ -24,8 +24,8 @@ import net.bytebuddy.description.method.MethodDescription;
 /**
  * ShardingSphere transformer point.
  */
-@Getter
 @RequiredArgsConstructor
+@Getter
 public class ShardingSphereTransformationPoint<T> {
     
     private final MethodDescription description;
diff --git 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/bytebuddy/transformer/ShardingSphereTransformer.java
 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/bytebuddy/transformer/ShardingSphereTransformer.java
index 96c6420..7c76621 100644
--- 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/bytebuddy/transformer/ShardingSphereTransformer.java
+++ 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/bytebuddy/transformer/ShardingSphereTransformer.java
@@ -21,6 +21,7 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import net.bytebuddy.agent.builder.AgentBuilder.Transformer;
 import net.bytebuddy.description.method.MethodDescription;
+import net.bytebuddy.description.method.MethodDescription.InDefinedShape;
 import net.bytebuddy.description.type.TypeDescription;
 import net.bytebuddy.dynamic.DynamicType.Builder;
 import net.bytebuddy.implementation.FieldAccessor;
@@ -68,38 +69,21 @@ public final class ShardingSphereTransformer implements 
Transformer {
     
     @Override
     public Builder<?> transform(final Builder<?> builder, final 
TypeDescription typeDescription, final ClassLoader classLoader, final 
JavaModule module) {
-        if (pluginLoader.containsType(typeDescription)) {
-            Builder<?> result = builder;
-            result = result.defineField(EXTRA_DATA, Object.class, 
Opcodes.ACC_PRIVATE | Opcodes.ACC_VOLATILE)
-                    .implement(AdviceTargetObject.class)
-                    .intercept(FieldAccessor.ofField(EXTRA_DATA));
-            PluginInterceptorPoint pluginInterceptorPoint = 
pluginLoader.loadPluginInterceptorPoint(typeDescription);
-            result = interceptorConstructorPoint(typeDescription, 
pluginInterceptorPoint.getConstructorPoints(), result);
-            result = interceptorClassStaticMethodPoint(typeDescription, 
pluginInterceptorPoint.getClassStaticMethodPoints(), result);
-            result = interceptorInstanceMethodPoint(typeDescription, 
pluginInterceptorPoint.getInstanceMethodPoints(), result);
-            return result;
+        if (!pluginLoader.containsType(typeDescription)) {
+            return builder;
         }
-        return builder;
+        Builder<?> result = builder.defineField(EXTRA_DATA, Object.class, 
Opcodes.ACC_PRIVATE | 
Opcodes.ACC_VOLATILE).implement(AdviceTargetObject.class).intercept(FieldAccessor.ofField(EXTRA_DATA));
+        PluginInterceptorPoint pluginInterceptorPoint = 
pluginLoader.loadPluginInterceptorPoint(typeDescription);
+        result = interceptorConstructorPoint(typeDescription, 
pluginInterceptorPoint.getConstructorPoints(), result);
+        result = interceptorClassStaticMethodPoint(typeDescription, 
pluginInterceptorPoint.getClassStaticMethodPoints(), result);
+        result = interceptorInstanceMethodPoint(typeDescription, 
pluginInterceptorPoint.getInstanceMethodPoints(), result);
+        return result;
     }
     
-    private Builder<?> interceptorConstructorPoint(final TypeDescription 
description, final List<ConstructorPoint> constructorPoints, final Builder<?> 
builder) {
-        List<ShardingSphereTransformationPoint<? extends 
ConstructorInterceptor>> constructorAdviceComposePoints = 
description.getDeclaredMethods().stream()
+    private Builder<?> interceptorConstructorPoint(final TypeDescription 
description, final Collection<ConstructorPoint> constructorPoints, final 
Builder<?> builder) {
+        Collection<ShardingSphereTransformationPoint<? extends 
ConstructorInterceptor>> constructorAdviceComposePoints = 
description.getDeclaredMethods().stream()
                 .filter(MethodDescription::isConstructor)
-                .map(methodDescription -> {
-                    List<ConstructorPoint> constructorPointList = 
constructorPoints.stream().filter(point -> 
point.getMatcher().matches(methodDescription)).collect(Collectors.toList());
-                    if (constructorPointList.isEmpty()) {
-                        return null;
-                    }
-                    if (1 == constructorPointList.size()) {
-                        return new 
ShardingSphereTransformationPoint<>(methodDescription, new 
ConstructorInterceptor(pluginLoader.getOrCreateInstance(constructorPointList.get(0).getAdvice())));
-                    } else {
-                        List<ConstructorAdvice> constructorAdvices = 
constructorPointList.stream()
-                                .map(ConstructorPoint::getAdvice)
-                                .map(advice -> (ConstructorAdvice) 
pluginLoader.getOrCreateInstance(advice))
-                                .collect(Collectors.toList());
-                        return new 
ShardingSphereTransformationPoint<>(methodDescription, new 
ComposeConstructorInterceptor(constructorAdvices));
-                    }
-                })
+                .map(each -> getMatchedTransformationPoint(constructorPoints, 
each))
                 .filter(Objects::nonNull)
                 .collect(Collectors.toList());
         Builder<?> result = builder;
@@ -116,10 +100,26 @@ public final class ShardingSphereTransformer implements 
Transformer {
         return result;
     }
     
-    private Builder<?> interceptorClassStaticMethodPoint(final TypeDescription 
description, final List<ClassStaticMethodPoint> classStaticMethodAroundPoints, 
final Builder<?> builder) {
-        List<ShardingSphereTransformationPoint<?>> 
classStaticMethodAdvicePoints = description.getDeclaredMethods().stream()
+    private ShardingSphereTransformationPoint<? extends 
ConstructorInterceptor> getMatchedTransformationPoint(
+            final Collection<ConstructorPoint> constructorPoints, final 
InDefinedShape methodDescription) {
+        List<ConstructorPoint> matchedConstructorPoints = 
constructorPoints.stream().filter(each -> 
each.getMatcher().matches(methodDescription)).collect(Collectors.toList());
+        if (matchedConstructorPoints.isEmpty()) {
+            return null;
+        }
+        if (1 == matchedConstructorPoints.size()) {
+            return new ShardingSphereTransformationPoint<>(methodDescription, 
new 
ConstructorInterceptor(pluginLoader.getOrCreateInstance(matchedConstructorPoints.get(0).getAdvice())));
+        }
+        Collection<ConstructorAdvice> constructorAdvices = 
matchedConstructorPoints.stream()
+                .map(ConstructorPoint::getAdvice)
+                .map(advice -> (ConstructorAdvice) 
pluginLoader.getOrCreateInstance(advice))
+                .collect(Collectors.toList());
+        return new ShardingSphereTransformationPoint<>(methodDescription, new 
ComposeConstructorInterceptor(constructorAdvices));
+    }
+    
+    private Builder<?> interceptorClassStaticMethodPoint(final TypeDescription 
description, final Collection<ClassStaticMethodPoint> staticMethodAroundPoints, 
final Builder<?> builder) {
+        Collection<ShardingSphereTransformationPoint<?>> 
classStaticMethodAdvicePoints = description.getDeclaredMethods().stream()
                 .filter(each -> each.isStatic() && !(each.isAbstract() || 
each.isSynthetic()))
-                .map(methodDescription -> 
getStaticMethodPoint(methodDescription, classStaticMethodAroundPoints))
+                .map(methodDescription -> 
getMatchedStaticMethodPoint(staticMethodAroundPoints, methodDescription))
                 .filter(Objects::nonNull)
                 .collect(Collectors.toList());
         Builder<?> result = builder;
@@ -136,49 +136,49 @@ public final class ShardingSphereTransformer implements 
Transformer {
         return result;
     }
     
-    private ShardingSphereTransformationPoint<?> getStaticMethodPoint(final 
MethodDescription.InDefinedShape methodDescription, final 
List<ClassStaticMethodPoint> classStaticMethodAroundPoints) {
-        List<ClassStaticMethodPoint> classStaticMethodPoints = 
classStaticMethodAroundPoints.stream().filter(point -> 
point.getMatcher().matches(methodDescription)).collect(Collectors.toList());
-        if (classStaticMethodPoints.isEmpty()) {
+    private ShardingSphereTransformationPoint<?> 
getMatchedStaticMethodPoint(final Collection<ClassStaticMethodPoint> 
staticMethodAroundPoints, final InDefinedShape methodDescription) {
+        List<ClassStaticMethodPoint> staticMethodPoints = 
staticMethodAroundPoints.stream().filter(point -> 
point.getMatcher().matches(methodDescription)).collect(Collectors.toList());
+        if (staticMethodPoints.isEmpty()) {
             return null;
         }
-        if (1 == classStaticMethodPoints.size()) {
-            if (classStaticMethodPoints.get(0).isOverrideArgs()) {
-                return new 
ShardingSphereTransformationPoint<>(methodDescription, 
-                        new 
ClassStaticMethodInterceptorArgsOverride(pluginLoader.getOrCreateInstance(classStaticMethodPoints.get(0).getAdvice())));
-            } else {
-                return new 
ShardingSphereTransformationPoint<>(methodDescription, 
-                        new 
ClassStaticMethodAroundInterceptor(pluginLoader.getOrCreateInstance(classStaticMethodPoints.get(0).getAdvice())));
-            }
-        } else {
-            Collection<ClassStaticMethodAroundAdvice> 
classStaticMethodAroundAdvices = new LinkedList<>();
-            boolean isArgsOverride = false;
-            for (ClassStaticMethodPoint point : classStaticMethodPoints) {
-                if (point.isOverrideArgs()) {
-                    isArgsOverride = true;
-                }
-                if (null != point.getAdvice()) {
-                    
classStaticMethodAroundAdvices.add(pluginLoader.getOrCreateInstance(point.getAdvice()));
-                }
+        if (1 == staticMethodPoints.size()) {
+            return getSingleStaticMethodPoint(methodDescription, 
staticMethodPoints.get(0));
+        }
+        return getComposeStaticMethodPoint(methodDescription, 
staticMethodPoints);
+    }
+    
+    private ShardingSphereTransformationPoint<?> 
getSingleStaticMethodPoint(final InDefinedShape methodDescription, final 
ClassStaticMethodPoint staticMethodPoint) {
+        ClassStaticMethodAroundAdvice staticMethodAroundAdvice = 
pluginLoader.getOrCreateInstance(staticMethodPoint.getAdvice());
+        return staticMethodPoint.isOverrideArgs()
+                ? new ShardingSphereTransformationPoint<>(methodDescription, 
new ClassStaticMethodInterceptorArgsOverride(staticMethodAroundAdvice))
+                : new ShardingSphereTransformationPoint<>(methodDescription, 
new ClassStaticMethodAroundInterceptor(staticMethodAroundAdvice));
+    }
+    
+    private ShardingSphereTransformationPoint<?> 
getComposeStaticMethodPoint(final InDefinedShape methodDescription, final 
Collection<ClassStaticMethodPoint> staticMethodPoints) {
+        Collection<ClassStaticMethodAroundAdvice> 
classStaticMethodAroundAdvices = new LinkedList<>();
+        boolean isArgsOverride = false;
+        for (ClassStaticMethodPoint each : staticMethodPoints) {
+            if (each.isOverrideArgs()) {
+                isArgsOverride = true;
             }
-            if (isArgsOverride) {
-                return new 
ShardingSphereTransformationPoint<>(methodDescription, new 
ComposeClassStaticMethodInterceptorArgsOverride(classStaticMethodAroundAdvices));
-            } else {
-                return new 
ShardingSphereTransformationPoint<>(methodDescription, new 
ComposeClassStaticMethodAroundInterceptor(classStaticMethodAroundAdvices));
+            if (null != each.getAdvice()) {
+                
classStaticMethodAroundAdvices.add(pluginLoader.getOrCreateInstance(each.getAdvice()));
             }
         }
+        return isArgsOverride ? new 
ShardingSphereTransformationPoint<>(methodDescription, new 
ComposeClassStaticMethodInterceptorArgsOverride(classStaticMethodAroundAdvices))
+                : new ShardingSphereTransformationPoint<>(methodDescription, 
new ComposeClassStaticMethodAroundInterceptor(classStaticMethodAroundAdvices));
     }
     
-    private Builder<?> interceptorInstanceMethodPoint(final TypeDescription 
description, final List<InstanceMethodPoint> instanceMethodAroundPoints, final 
Builder<?> builder) {
-        List<ShardingSphereTransformationPoint<?>> 
instanceMethodAdviceComposePoints = description.getDeclaredMethods().stream()
+    private Builder<?> interceptorInstanceMethodPoint(final TypeDescription 
description, final Collection<InstanceMethodPoint> instanceMethodAroundPoints, 
final Builder<?> builder) {
+        Collection<ShardingSphereTransformationPoint<?>> 
instanceMethodAdviceComposePoints = description.getDeclaredMethods().stream()
                 .filter(each -> !(each.isAbstract() || each.isSynthetic()))
-                .map(methodDescription -> 
getInstanceMethodPoint(methodDescription, instanceMethodAroundPoints))
+                .map(each -> 
getMatchedInstanceMethodPoint(instanceMethodAroundPoints, each))
                 .filter(Objects::nonNull)
                 .collect(Collectors.toList());
         Builder<?> result = builder;
         for (ShardingSphereTransformationPoint<?> each : 
instanceMethodAdviceComposePoints) {
             try {
-                result = 
result.method(ElementMatchers.is(each.getDescription()))
-                        
.intercept(MethodDelegation.withDefaultConfiguration().to(each.getInterceptor()));
+                result = 
result.method(ElementMatchers.is(each.getDescription())).intercept(MethodDelegation.withDefaultConfiguration().to(each.getInterceptor()));
                 // CHECKSTYLE:OFF
             } catch (final Throwable ex) {
                 // CHECKSTYLE:ON
@@ -188,33 +188,36 @@ public final class ShardingSphereTransformer implements 
Transformer {
         return result;
     }
     
-    private ShardingSphereTransformationPoint<?> getInstanceMethodPoint(final 
MethodDescription.InDefinedShape methodDescription, final 
List<InstanceMethodPoint> instanceMethodAroundPoints) {
+    private ShardingSphereTransformationPoint<?> 
getMatchedInstanceMethodPoint(final Collection<InstanceMethodPoint> 
instanceMethodAroundPoints, final InDefinedShape methodDescription) {
         List<InstanceMethodPoint> instanceMethodPoints = 
instanceMethodAroundPoints.stream().filter(point -> 
point.getMatcher().matches(methodDescription)).collect(Collectors.toList());
         if (instanceMethodPoints.isEmpty()) {
             return null;
         }
         if (1 == instanceMethodPoints.size()) {
-            if (instanceMethodPoints.get(0).isOverrideArgs()) {
-                return new 
ShardingSphereTransformationPoint<>(methodDescription, new 
InstanceMethodInterceptorArgsOverride(pluginLoader.getOrCreateInstance(instanceMethodPoints.get(0).getAdvice())));
-            } else {
-                return new 
ShardingSphereTransformationPoint<>(methodDescription, new 
InstanceMethodAroundInterceptor(pluginLoader.getOrCreateInstance(instanceMethodPoints.get(0).getAdvice())));
-            }      
-        } else {
-            Collection<InstanceMethodAroundAdvice> instanceMethodAroundAdvices 
= new LinkedList<>();
-            boolean isArgsOverride = false;
-            for (InstanceMethodPoint point : instanceMethodPoints) {
-                if (point.isOverrideArgs()) {
-                    isArgsOverride = true;
-                }
-                if (null != point.getAdvice()) {
-                    
instanceMethodAroundAdvices.add(pluginLoader.getOrCreateInstance(point.getAdvice()));
-                }
+            return getSingleInstanceMethodPoint(methodDescription, 
instanceMethodPoints.get(0));
+        }
+        return getComposeInstanceMethodPoint(methodDescription, 
instanceMethodPoints);
+    }
+    
+    private ShardingSphereTransformationPoint<?> 
getSingleInstanceMethodPoint(final InDefinedShape methodDescription, final 
InstanceMethodPoint instanceMethodPoint) {
+        InstanceMethodAroundAdvice instanceMethodAroundAdvice = 
pluginLoader.getOrCreateInstance(instanceMethodPoint.getAdvice());
+        return instanceMethodPoint.isOverrideArgs()
+                ? new ShardingSphereTransformationPoint<>(methodDescription, 
new InstanceMethodInterceptorArgsOverride(instanceMethodAroundAdvice))
+                : new ShardingSphereTransformationPoint<>(methodDescription, 
new InstanceMethodAroundInterceptor(instanceMethodAroundAdvice));
+    }
+    
+    private ShardingSphereTransformationPoint<?> 
getComposeInstanceMethodPoint(final InDefinedShape methodDescription, final 
Collection<InstanceMethodPoint> instanceMethodPoints) {
+        Collection<InstanceMethodAroundAdvice> instanceMethodAroundAdvices = 
new LinkedList<>();
+        boolean isArgsOverride = false;
+        for (InstanceMethodPoint each : instanceMethodPoints) {
+            if (each.isOverrideArgs()) {
+                isArgsOverride = true;
             }
-            if (isArgsOverride) {
-                return new 
ShardingSphereTransformationPoint<>(methodDescription, new 
ComposeInstanceMethodInterceptorArgsOverride(instanceMethodAroundAdvices));
-            } else {
-                return new 
ShardingSphereTransformationPoint<>(methodDescription, new 
ComposeInstanceMethodAroundInterceptor(instanceMethodAroundAdvices));
+            if (null != each.getAdvice()) {
+                
instanceMethodAroundAdvices.add(pluginLoader.getOrCreateInstance(each.getAdvice()));
             }
         }
+        return isArgsOverride ? new 
ShardingSphereTransformationPoint<>(methodDescription, new 
ComposeInstanceMethodInterceptorArgsOverride(instanceMethodAroundAdvices))
+                : new ShardingSphereTransformationPoint<>(methodDescription, 
new ComposeInstanceMethodAroundInterceptor(instanceMethodAroundAdvices));
     }
 }
diff --git 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/bytebuddy/transformer/advice/ComposeConstructorAdvice.java
 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/bytebuddy/transformer/advice/ComposeConstructorAdvice.java
index 0c4846a..6da2a26 100644
--- 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/bytebuddy/transformer/advice/ComposeConstructorAdvice.java
+++ 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/bytebuddy/transformer/advice/ComposeConstructorAdvice.java
@@ -21,7 +21,7 @@ import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.agent.api.advice.AdviceTargetObject;
 import org.apache.shardingsphere.agent.api.advice.ConstructorAdvice;
 
-import java.util.List;
+import java.util.Collection;
 
 /**
  * Compose Constructor advice.
@@ -29,7 +29,7 @@ import java.util.List;
 @RequiredArgsConstructor
 public final class ComposeConstructorAdvice implements ConstructorAdvice {
     
-    private final List<ConstructorAdvice> advices;
+    private final Collection<ConstructorAdvice> advices;
     
     @Override
     public void onConstructor(final AdviceTargetObject target, final Object[] 
args) {
diff --git 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/entity/Interceptors.java
 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/entity/Interceptors.java
index 605d336..c93baa2 100644
--- 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/entity/Interceptors.java
+++ 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/entity/Interceptors.java
@@ -20,14 +20,14 @@ package org.apache.shardingsphere.agent.core.entity;
 import lombok.Getter;
 import lombok.Setter;
 
-import java.util.LinkedList;
+import java.util.Collection;
 
 /**
- * Interceptor list.
+ * Interceptors.
  */
 @Setter
 @Getter
 public final class Interceptors {
     
-    private LinkedList<Interceptor> interceptors;
+    private Collection<Interceptor> interceptors;
 }
diff --git 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/interceptor/compose/ComposeConstructorInterceptor.java
 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/interceptor/compose/ComposeConstructorInterceptor.java
index 60aac45..9ecfdf5 100644
--- 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/interceptor/compose/ComposeConstructorInterceptor.java
+++ 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/interceptor/compose/ComposeConstructorInterceptor.java
@@ -21,11 +21,11 @@ import 
org.apache.shardingsphere.agent.api.advice.ConstructorAdvice;
 import 
org.apache.shardingsphere.agent.core.bytebuddy.transformer.advice.ComposeConstructorAdvice;
 import 
org.apache.shardingsphere.agent.core.plugin.interceptor.ConstructorInterceptor;
 
-import java.util.List;
+import java.util.Collection;
 
 public final class ComposeConstructorInterceptor extends 
ConstructorInterceptor {
     
-    public ComposeConstructorInterceptor(final List<ConstructorAdvice> 
constructorAdvices) {
+    public ComposeConstructorInterceptor(final Collection<ConstructorAdvice> 
constructorAdvices) {
         super(new ComposeConstructorAdvice(constructorAdvices));
     }
 }
diff --git 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/interceptor/compose/ComposeInstanceMethodInterceptorArgsOverride.java
 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/interceptor/compose/ComposeInstanceMethodInterceptorArgsOverride.java
index 95a239f..2fa50f241 100644
--- 
a/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/interceptor/compose/ComposeInstanceMethodInterceptorArgsOverride.java
+++ 
b/shardingsphere-agent/shardingsphere-agent-core/src/main/java/org/apache/shardingsphere/agent/core/plugin/interceptor/compose/ComposeInstanceMethodInterceptorArgsOverride.java
@@ -23,7 +23,11 @@ import 
org.apache.shardingsphere.agent.core.plugin.interceptor.InstanceMethodInt
 
 import java.util.Collection;
 
+/**
+ * Compose instance method interceptor args override.
+ */
 public class ComposeInstanceMethodInterceptorArgsOverride extends 
InstanceMethodInterceptorArgsOverride {
+    
     public ComposeInstanceMethodInterceptorArgsOverride(final 
Collection<InstanceMethodAroundAdvice> instanceMethodAroundAdvices) {
         super(new 
ComposeInstanceMethodAroundAdvice(instanceMethodAroundAdvices));
     }
diff --git 
a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPluginDefinitionService.java
 
b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPluginDefinitionService.java
index c904d0e..75c8ace 100644
--- 
a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPluginDefinitionService.java
+++ 
b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-metrics/shardingsphere-agent-metrics-prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPluginDefinitionService.java
@@ -39,25 +39,25 @@ public final class PrometheusPluginDefinitionService 
extends AbstractPluginDefin
         Yaml yaml = new Yaml();
         InputStream in = 
this.getClass().getResourceAsStream("/prometheus/interceptors.yaml");
         Interceptors interceptors = yaml.loadAs(in, Interceptors.class);
-        for (Interceptor interceptor : interceptors.getInterceptors()) {
-            if (null == interceptor.getTarget()) {
+        for (Interceptor each : interceptors.getInterceptors()) {
+            if (null == each.getTarget()) {
                 continue;
             }
-            PluginInterceptorPoint.Builder builder = 
defineInterceptor(interceptor.getTarget());
-            if (null != interceptor.getConstructAdvice() && 
!("".equals(interceptor.getConstructAdvice()))) {
-                
builder.onConstructor(ElementMatchers.isConstructor()).implement(interceptor.getConstructAdvice()).build();
-                log.debug("Init construct: {}", 
interceptor.getConstructAdvice());
+            PluginInterceptorPoint.Builder builder = 
defineInterceptor(each.getTarget());
+            if (null != each.getConstructAdvice() && 
!("".equals(each.getConstructAdvice()))) {
+                
builder.onConstructor(ElementMatchers.isConstructor()).implement(each.getConstructAdvice()).build();
+                log.debug("Init construct: {}", each.getConstructAdvice());
             }
-            if (null == interceptor.getPoints()) {
+            if (null == each.getPoints()) {
                 continue;
             }
-            String[] instancePoints = interceptor
+            String[] instancePoints = each
                     .getPoints()
                     .stream()
                     .filter(i -> "instance".equals(i.getType()))
                     .map(TargetPoint::getName)
                     .toArray(String[]::new);
-            String[] staticPoints = interceptor
+            String[] staticPoints = each
                     .getPoints()
                     .stream()
                     .filter(i -> "static".equals(i.getType()))
@@ -65,15 +65,15 @@ public final class PrometheusPluginDefinitionService 
extends AbstractPluginDefin
                     .toArray(String[]::new);
             if (instancePoints.length > 0) {
                 
builder.aroundInstanceMethod(ElementMatchers.namedOneOf(instancePoints))
-                        .implement(interceptor.getInstanceAdvice())
+                        .implement(each.getInstanceAdvice())
                         .build();
-                log.debug("Init instance: {}", 
interceptor.getInstanceAdvice());
+                log.debug("Init instance: {}", each.getInstanceAdvice());
             }
             if (staticPoints.length > 0) {
                 
builder.aroundClassStaticMethod(ElementMatchers.namedOneOf(staticPoints))
-                        .implement(interceptor.getStaticAdvice())
+                        .implement(each.getStaticAdvice())
                         .build();
-                log.debug("Init static: {}", interceptor.getStaticAdvice());
+                log.debug("Init static: {}", each.getStaticAdvice());
             }
         }
     }

Reply via email to