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

[shardingsphere] branch master updated: Refactor AbstractPluginDefinitionService (#22784)

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

duanzhengqiang 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 6b8a12c4916 Refactor AbstractPluginDefinitionService (#22784)
6b8a12c4916 is described below

commit 6b8a12c49165d8daf308b9906059884ccdcb5d18
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Sat Dec 10 15:31:13 2022 +0800

    Refactor AbstractPluginDefinitionService (#22784)
    
    * Refactor AbstractPluginDefinitionService
    
    * Refactor AbstractPluginDefinitionService
    
    * Refactor AbstractPluginDefinitionService
---
 .../AbstractPluginDefinitionService.java           | 27 +++++++++-------------
 .../BaseLoggingPluginDefinitionService.java        |  4 ++--
 .../PrometheusPluginDefinitionService.java         |  4 ++--
 .../definition/JaegerPluginDefinitionService.java  |  4 ++--
 ...penTelemetryTracingPluginDefinitionService.java |  6 ++---
 .../OpenTracingPluginDefinitionService.java        |  4 ++--
 .../definition/ZipkinPluginDefinitionService.java  |  4 ++--
 7 files changed, 24 insertions(+), 29 deletions(-)

diff --git a/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/definition/AbstractPluginDefinitionService.java b/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/definition/AbstractPluginDefinitionService.java
index 27904109171..b2359142779 100644
--- a/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/definition/AbstractPluginDefinitionService.java
+++ b/agent/api/src/main/java/org/apache/shardingsphere/agent/spi/definition/AbstractPluginDefinitionService.java
@@ -18,6 +18,7 @@
 package org.apache.shardingsphere.agent.spi.definition;
 
 import org.apache.shardingsphere.agent.api.point.PluginInterceptorPoint;
+import org.apache.shardingsphere.agent.api.point.PluginInterceptorPoint.Builder;
 
 import java.util.Collection;
 import java.util.HashMap;
@@ -29,7 +30,7 @@ import java.util.stream.Collectors;
  */
 public abstract class AbstractPluginDefinitionService implements PluginDefinitionService {
     
-    private final Map<String, PluginInterceptorPoint.Builder> interceptorPointMap = new HashMap<>();
+    private final Map<String, Builder> interceptorPointMap = new HashMap<>();
     
     /**
      * Install to collection of plugin interceptor point.
@@ -43,25 +44,19 @@ public abstract class AbstractPluginDefinitionService implements PluginDefinitio
         } else {
             defineJdbcInterceptors();
         }
-        return interceptorPointMap.values().stream().map(PluginInterceptorPoint.Builder::install).collect(Collectors.toList());
+        return interceptorPointMap.values().stream().map(Builder::install).collect(Collectors.toList());
     }
     
-    /**
-     * Define proxy interceptors to collection of plugin interceptor point.
-     */
-    public abstract void defineProxyInterceptors();
+    protected abstract void defineProxyInterceptors();
     
-    /**
-     * Define JDBC interceptors to collection of plugin interceptor point.
-     */
-    public abstract void defineJdbcInterceptors();
+    protected abstract void defineJdbcInterceptors();
     
-    protected final PluginInterceptorPoint.Builder defineInterceptor(final String classNameOfTarget) {
-        if (interceptorPointMap.containsKey(classNameOfTarget)) {
-            return interceptorPointMap.get(classNameOfTarget);
+    protected final Builder defineInterceptor(final String targetClassName) {
+        if (interceptorPointMap.containsKey(targetClassName)) {
+            return interceptorPointMap.get(targetClassName);
         }
-        PluginInterceptorPoint.Builder builder = PluginInterceptorPoint.intercept(classNameOfTarget);
-        interceptorPointMap.put(classNameOfTarget, builder);
-        return builder;
+        Builder result = PluginInterceptorPoint.intercept(targetClassName);
+        interceptorPointMap.put(targetClassName, result);
+        return result;
     }
 }
diff --git a/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinitionService.java b/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinitionService.java
index f4083132b7c..d10ed1d1586 100644
--- a/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinitionService.java
+++ b/agent/plugins/logging/base/src/main/java/org/apache/shardingsphere/agent/plugin/logging/base/definition/BaseLoggingPluginDefinitionService.java
@@ -33,7 +33,7 @@ public final class BaseLoggingPluginDefinitionService extends AbstractPluginDefi
     private static final String SCHEMA_METADATA_LOADER_ADVICE_CLASS = MetaDataContextsFactoryAdvice.class.getName();
     
     @Override
-    public void defineProxyInterceptors() {
+    protected void defineProxyInterceptors() {
         defineInterceptor(SCHEMA_METADATA_LOADER_CLASS)
                 .aroundClassStaticMethod(ElementMatchers.named(SCHEMA_METADATA_LOADER_METHOD_NAME).and(ElementMatchers.takesArguments(4)))
                 .implement(SCHEMA_METADATA_LOADER_ADVICE_CLASS)
@@ -41,7 +41,7 @@ public final class BaseLoggingPluginDefinitionService extends AbstractPluginDefi
     }
     
     @Override
-    public void defineJdbcInterceptors() {
+    protected void defineJdbcInterceptors() {
         defineInterceptor(SCHEMA_METADATA_LOADER_CLASS)
                 .aroundClassStaticMethod(ElementMatchers.named(SCHEMA_METADATA_LOADER_METHOD_NAME).and(ElementMatchers.takesArguments(4)))
                 .implement(SCHEMA_METADATA_LOADER_ADVICE_CLASS)
diff --git a/agent/plugins/metrics/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPluginDefinitionService.java b/agent/plugins/metrics/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPluginDefinitionService.java
index f7a8a3e3eb7..6a32d73c1b7 100644
--- a/agent/plugins/metrics/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPluginDefinitionService.java
+++ b/agent/plugins/metrics/prometheus/src/main/java/org/apache/shardingsphere/agent/metrics/prometheus/definition/PrometheusPluginDefinitionService.java
@@ -33,7 +33,7 @@ import java.io.InputStream;
 public final class PrometheusPluginDefinitionService extends AbstractPluginDefinitionService {
     
     @Override
-    public void defineProxyInterceptors() {
+    protected void defineProxyInterceptors() {
         InputStream inputStream = getClass().getResourceAsStream("/prometheus/interceptors.yaml");
         Interceptors interceptors = new Yaml().loadAs(inputStream, Interceptors.class);
         for (Interceptor each : interceptors.getInterceptors()) {
@@ -59,7 +59,7 @@ public final class PrometheusPluginDefinitionService extends AbstractPluginDefin
     }
     
     @Override
-    public void defineJdbcInterceptors() {
+    protected void defineJdbcInterceptors() {
         // TODO add JDBC related interception
     }
     
diff --git a/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java b/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java
index 8a603379f9a..9781d717988 100644
--- a/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java
+++ b/agent/plugins/tracing/jaeger/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/definition/JaegerPluginDefinitionService.java
@@ -46,7 +46,7 @@ public final class JaegerPluginDefinitionService extends AbstractPluginDefinitio
     private static final String JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS = "org.apache.shardingsphere.agent.plugin.tracing.jaeger.advice.JDBCExecutorCallbackAdvice";
     
     @Override
-    public void defineProxyInterceptors() {
+    protected void defineProxyInterceptors() {
         defineInterceptor(COMMAND_EXECUTOR_TASK_ENHANCE_CLASS)
                 .aroundInstanceMethod(ElementMatchers.named(COMMAND_EXECUTOR_METHOD_NAME))
                 .implement(COMMAND_EXECUTOR_TASK_ADVICE_CLASS)
@@ -64,7 +64,7 @@ public final class JaegerPluginDefinitionService extends AbstractPluginDefinitio
     }
     
     @Override
-    public void defineJdbcInterceptors() {
+    protected void defineJdbcInterceptors() {
         // TODO add JDBC related interception
     }
     
diff --git a/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java b/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java
index ba2f93c4c0a..8276060101e 100644
--- a/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java
+++ b/agent/plugins/tracing/opentelemetry/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentelemetry/definition/OpenTelemetryTracingPluginDefinitionService.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.agent.spi.definition.AbstractPluginDefinitionSe
 /**
  * OpenTelemetry plugin definition service.
  */
-public class OpenTelemetryTracingPluginDefinitionService extends AbstractPluginDefinitionService {
+public final class OpenTelemetryTracingPluginDefinitionService extends AbstractPluginDefinitionService {
     
     private static final String COMMAND_EXECUTOR_TASK_ENHANCE_CLASS = "org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask";
     
@@ -46,7 +46,7 @@ public class OpenTelemetryTracingPluginDefinitionService extends AbstractPluginD
     private static final String JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS = "org.apache.shardingsphere.agent.plugin.tracing.opentelemetry.advice.JDBCExecutorCallbackAdvice";
     
     @Override
-    public void defineProxyInterceptors() {
+    protected void defineProxyInterceptors() {
         defineInterceptor(COMMAND_EXECUTOR_TASK_ENHANCE_CLASS)
                 .aroundInstanceMethod(ElementMatchers.named(COMMAND_EXECUTOR_METHOD_NAME))
                 .implement(COMMAND_EXECUTOR_TASK_ADVICE_CLASS)
@@ -64,7 +64,7 @@ public class OpenTelemetryTracingPluginDefinitionService extends AbstractPluginD
     }
     
     @Override
-    public void defineJdbcInterceptors() {
+    protected void defineJdbcInterceptors() {
         // TODO add JDBC related interception
     }
     
diff --git a/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java b/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java
index 8260f530357..beb08a95b2a 100644
--- a/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java
+++ b/agent/plugins/tracing/opentracing/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/definition/OpenTracingPluginDefinitionService.java
@@ -46,7 +46,7 @@ public final class OpenTracingPluginDefinitionService extends AbstractPluginDefi
     private static final String JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS = "org.apache.shardingsphere.agent.plugin.tracing.opentracing.advice.JDBCExecutorCallbackAdvice";
     
     @Override
-    public void defineProxyInterceptors() {
+    protected void defineProxyInterceptors() {
         defineInterceptor(COMMAND_EXECUTOR_TASK_ENHANCE_CLASS)
                 .aroundInstanceMethod(ElementMatchers.named(COMMAND_EXECUTOR_METHOD_NAME))
                 .implement(COMMAND_EXECUTOR_TASK_ADVICE_CLASS)
@@ -64,7 +64,7 @@ public final class OpenTracingPluginDefinitionService extends AbstractPluginDefi
     }
     
     @Override
-    public void defineJdbcInterceptors() {
+    protected void defineJdbcInterceptors() {
         // TODO add JDBC related interception
     }
     
diff --git a/agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java b/agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java
index af268658a9f..d40dd5b9620 100644
--- a/agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java
+++ b/agent/plugins/tracing/zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/definition/ZipkinPluginDefinitionService.java
@@ -46,7 +46,7 @@ public final class ZipkinPluginDefinitionService extends AbstractPluginDefinitio
     private static final String JDBC_EXECUTOR_CALLBACK_ADVICE_CLASS = "org.apache.shardingsphere.agent.plugin.tracing.zipkin.advice.JDBCExecutorCallbackAdvice";
     
     @Override
-    public void defineProxyInterceptors() {
+    protected void defineProxyInterceptors() {
         defineInterceptor(COMMAND_EXECUTOR_TASK_ENHANCE_CLASS)
                 .aroundInstanceMethod(ElementMatchers.named(COMMAND_EXECUTOR_METHOD_NAME))
                 .implement(COMMAND_EXECUTOR_TASK_ADVICE_CLASS)
@@ -64,7 +64,7 @@ public final class ZipkinPluginDefinitionService extends AbstractPluginDefinitio
     }
     
     @Override
-    public void defineJdbcInterceptors() {
+    protected void defineJdbcInterceptors() {
         // TODO add JDBC related interception
     }