From 66e553a4130ea589d4edeffcb61b55f267bfd266 Mon Sep 17 00:00:00 2001 From: wu-sheng Date: Wed, 25 Oct 2017 14:58:11 +0800 Subject: [PATCH] Finish most codes and fix compile issue. --- .../modulization/ApplicationConfiguration.java | 12 ++++++++++++ .../apm/collector/modulization/Module.java | 1 - .../apm/collector/modulization/ModuleProvider.java | 7 +++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/apm-collector/apm-collector-modulization-core/src/main/java/org/skywalking/apm/collector/modulization/ApplicationConfiguration.java b/apm-collector/apm-collector-modulization-core/src/main/java/org/skywalking/apm/collector/modulization/ApplicationConfiguration.java index 3e7c952aeb..5984f32a05 100644 --- a/apm-collector/apm-collector-modulization-core/src/main/java/org/skywalking/apm/collector/modulization/ApplicationConfiguration.java +++ b/apm-collector/apm-collector-modulization-core/src/main/java/org/skywalking/apm/collector/modulization/ApplicationConfiguration.java @@ -28,10 +28,19 @@ public class ApplicationConfiguration { return modules.keySet().toArray(new String[0]); } + public ModuleConfiguration addModule(String moduleName) { + ModuleConfiguration newModule = new ModuleConfiguration(); + modules.put(moduleName, newModule); + return newModule; + } + public ModuleConfiguration getModuleConfiguration(String name) { return modules.get(name); } + /** + * The configurations about a certain module. + */ public class ModuleConfiguration { private HashMap providers = new HashMap<>(); @@ -40,6 +49,9 @@ public class ApplicationConfiguration { } } + /** + * The configuration about a certain provider of a module. + */ public class ProviderConfiguration { private Properties properties; } diff --git a/apm-collector/apm-collector-modulization-core/src/main/java/org/skywalking/apm/collector/modulization/Module.java b/apm-collector/apm-collector-modulization-core/src/main/java/org/skywalking/apm/collector/modulization/Module.java index cebc7b8834..fd0d18b5a8 100644 --- a/apm-collector/apm-collector-modulization-core/src/main/java/org/skywalking/apm/collector/modulization/Module.java +++ b/apm-collector/apm-collector-modulization-core/src/main/java/org/skywalking/apm/collector/modulization/Module.java @@ -18,7 +18,6 @@ package org.skywalking.apm.collector.modulization; -import java.lang.reflect.InvocationTargetException; import java.util.LinkedList; import java.util.List; import java.util.ServiceLoader; diff --git a/apm-collector/apm-collector-modulization-core/src/main/java/org/skywalking/apm/collector/modulization/ModuleProvider.java b/apm-collector/apm-collector-modulization-core/src/main/java/org/skywalking/apm/collector/modulization/ModuleProvider.java index abd5fecd64..74bc182654 100644 --- a/apm-collector/apm-collector-modulization-core/src/main/java/org/skywalking/apm/collector/modulization/ModuleProvider.java +++ b/apm-collector/apm-collector-modulization-core/src/main/java/org/skywalking/apm/collector/modulization/ModuleProvider.java @@ -76,6 +76,7 @@ public abstract class ModuleProvider { /** * Register a implementation for the service of this module provider. + * * @param serviceType * @param service */ @@ -83,6 +84,12 @@ public abstract class ModuleProvider { this.services.put(serviceType, service); } + /** + * Make sure all required services have been implemented. + * + * @param requiredServices must be implemented by the module. + * @throws ServiceNotProvidedException when exist unimplemented service. + */ void requiredCheck(Class[] requiredServices) throws ServiceNotProvidedException { if (requiredServices == null) return; -- GitLab