diff options
author | simonbrandhof <simon.brandhof@gmail.com> | 2010-09-24 11:32:13 +0000 |
---|---|---|
committer | simonbrandhof <simon.brandhof@gmail.com> | 2010-09-24 11:32:13 +0000 |
commit | d1f184b66a862f72a516d5f62cd15b8346a51f39 (patch) | |
tree | 17307ac9bb510c141f144e6484265158f1147e77 /sonar-server | |
parent | 60ae8203486a7eed8a4e3b209820c19851b8c309 (diff) | |
download | sonarqube-d1f184b66a862f72a516d5f62cd15b8346a51f39.tar.gz sonarqube-d1f184b66a862f72a516d5f62cd15b8346a51f39.zip |
remove a useless nested RuntimeException when an error occur during loading of plugins
Diffstat (limited to 'sonar-server')
-rw-r--r-- | sonar-server/src/main/java/org/sonar/server/platform/Platform.java | 24 | ||||
-rw-r--r-- | sonar-server/src/main/java/org/sonar/server/plugins/ServerPluginRepository.java | 23 |
2 files changed, 22 insertions, 25 deletions
diff --git a/sonar-server/src/main/java/org/sonar/server/platform/Platform.java b/sonar-server/src/main/java/org/sonar/server/platform/Platform.java index bd154a4f770..bf8b923b6b9 100644 --- a/sonar-server/src/main/java/org/sonar/server/platform/Platform.java +++ b/sonar-server/src/main/java/org/sonar/server/platform/Platform.java @@ -56,8 +56,6 @@ import org.sonar.server.ui.AuthenticatorFactory; import org.sonar.server.ui.CodeColorizers; import org.sonar.server.ui.Views; -import java.io.IOException; - /** * @since 2.2 */ @@ -92,17 +90,13 @@ public final class Platform { } public void start() { - try { - if (!started && isConnectedToDatabase()) { - TimeProfiler profiler = new TimeProfiler().start("Start services"); - startCoreComponents(); - startServiceComponents(); - executeStartupTasks(); - started = true; - profiler.stop(); - } - } catch (Exception e) { - throw new ServerStartException(e); + if (!started && isConnectedToDatabase()) { + TimeProfiler profiler = new TimeProfiler().start("Start services"); + startCoreComponents(); + startServiceComponents(); + executeStartupTasks(); + started = true; + profiler.stop(); } } @@ -149,7 +143,7 @@ public final class Platform { /** * plugin extensions + all the components that depend on plugin extensions */ - private void startServiceComponents() throws ClassNotFoundException, IOException, InstantiationException, IllegalAccessException { + private void startServiceComponents() { servicesContainer = coreContainer.makeChildContainer(); ServerPluginRepository pluginRepository = servicesContainer.getComponent(ServerPluginRepository.class); @@ -182,7 +176,7 @@ public final class Platform { servicesContainer.as(Characteristics.CACHE).addComponent(DeprecatedProfileImporters.class); servicesContainer.as(Characteristics.CACHE).addComponent(ProfilesConsole.class); servicesContainer.as(Characteristics.CACHE).addComponent(RulesConsole.class); - + servicesContainer.start(); } diff --git a/sonar-server/src/main/java/org/sonar/server/plugins/ServerPluginRepository.java b/sonar-server/src/main/java/org/sonar/server/plugins/ServerPluginRepository.java index ee37550b9e8..980898bc0eb 100644 --- a/sonar-server/src/main/java/org/sonar/server/plugins/ServerPluginRepository.java +++ b/sonar-server/src/main/java/org/sonar/server/plugins/ServerPluginRepository.java @@ -23,11 +23,10 @@ import org.picocontainer.Characteristics; import org.picocontainer.MutablePicoContainer; import org.sonar.api.Plugin; import org.sonar.api.ServerExtension; -import org.sonar.core.plugin.JpaPluginDao; -import org.sonar.core.plugin.JpaPlugin; import org.sonar.api.platform.PluginRepository; - -import java.io.IOException; +import org.sonar.api.utils.SonarException; +import org.sonar.core.plugin.JpaPlugin; +import org.sonar.core.plugin.JpaPluginDao; /** * @since 2.2 @@ -42,13 +41,17 @@ public class ServerPluginRepository extends PluginRepository { this.classloaders = classloaders; } - public void registerPlugins(MutablePicoContainer pico) throws ClassNotFoundException, IllegalAccessException, - InstantiationException, IOException { + public void registerPlugins(MutablePicoContainer pico) { for (JpaPlugin jpaPlugin : dao.getPlugins()) { - Class pluginClass = classloaders.getClassLoader(jpaPlugin.getKey()).loadClass(jpaPlugin.getPluginClass()); - pico.as(Characteristics.CACHE).addComponent(pluginClass); - Plugin plugin = (Plugin) pico.getComponent(pluginClass); - registerPlugin(pico, plugin, ServerExtension.class); + try { + Class pluginClass = classloaders.getClassLoader(jpaPlugin.getKey()).loadClass(jpaPlugin.getPluginClass()); + pico.as(Characteristics.CACHE).addComponent(pluginClass); + Plugin plugin = (Plugin) pico.getComponent(pluginClass); + registerPlugin(pico, plugin, ServerExtension.class); + + } catch (ClassNotFoundException e) { + throw new SonarException("Please check the plugin manifest. The main plugin class does not exist: " + jpaPlugin.getPluginClass(), e); + } } } |