From 563ad6f6c0f1b90bdfbb28a74dbf95f107c793ff Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Sat, 15 Mar 2014 23:47:59 +0100 Subject: [PATCH] SONAR-4843 Fix loading of some DAOs --- .../org/sonar/server/platform/Platform.java | 18 ---- .../platform/ServerComponentsStarter.java | 82 +++++++++++-------- 2 files changed, 49 insertions(+), 51 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 309384c2f1d..3e69a9f5e43 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 @@ -23,10 +23,6 @@ import org.apache.commons.configuration.BaseConfiguration; import org.slf4j.LoggerFactory; import org.sonar.api.platform.ComponentContainer; import org.sonar.api.platform.Server; -import org.sonar.api.profiles.XMLProfileParser; -import org.sonar.api.profiles.XMLProfileSerializer; -import org.sonar.api.rules.AnnotationRuleParser; -import org.sonar.api.rules.XMLRuleParser; import org.sonar.api.utils.Durations; import org.sonar.api.utils.HttpDownloader; import org.sonar.api.utils.TimeProfiler; @@ -45,9 +41,6 @@ import org.sonar.core.persistence.SemaphoreUpdater; import org.sonar.core.persistence.SemaphoresImpl; import org.sonar.core.profiling.Profiling; import org.sonar.core.purge.PurgeProfiler; -import org.sonar.jpa.dao.MeasuresDao; -import org.sonar.jpa.dao.ProfilesDao; -import org.sonar.jpa.dao.RulesDao; import org.sonar.jpa.session.DatabaseSessionProvider; import org.sonar.jpa.session.DefaultDatabaseConnector; import org.sonar.jpa.session.ThreadLocalDatabaseSessionFactory; @@ -151,9 +144,6 @@ public class Platform { for (Class daoClass : DaoUtils.getDaoClasses()) { level1Container.addSingleton(daoClass); } - level1Container.addComponent(RulesDao.class, false); - level1Container.addComponent(MeasuresDao.class, false); - level1Container.addComponent(ProfilesDao.class, false); level1Container.addSingleton(PurgeProfiler.class); level1Container.addSingleton(PluginDeployer.class); level1Container.addSingleton(ServerPluginInstaller.class); @@ -195,14 +185,6 @@ public class Platform { level2Container.addSingleton(UriReader.class); level2Container.addSingleton(ServerIdGenerator.class); - // quality profile - level2Container.addSingleton(XMLProfileParser.class); - level2Container.addSingleton(XMLProfileSerializer.class); - - // rule - level2Container.addSingleton(AnnotationRuleParser.class); - level2Container.addSingleton(XMLRuleParser.class); - // ws level2Container.addSingleton(RestartHandler.class); level2Container.addSingleton(PlatformWs.class); diff --git a/sonar-server/src/main/java/org/sonar/server/platform/ServerComponentsStarter.java b/sonar-server/src/main/java/org/sonar/server/platform/ServerComponentsStarter.java index 1ac4c567a16..e825a8a889d 100644 --- a/sonar-server/src/main/java/org/sonar/server/platform/ServerComponentsStarter.java +++ b/sonar-server/src/main/java/org/sonar/server/platform/ServerComponentsStarter.java @@ -23,8 +23,12 @@ import org.sonar.api.config.EmailSettings; import org.sonar.api.issue.action.Actions; import org.sonar.api.platform.ComponentContainer; import org.sonar.api.profiles.AnnotationProfileParser; +import org.sonar.api.profiles.XMLProfileParser; +import org.sonar.api.profiles.XMLProfileSerializer; import org.sonar.api.resources.Languages; import org.sonar.api.resources.ResourceTypes; +import org.sonar.api.rules.AnnotationRuleParser; +import org.sonar.api.rules.XMLRuleParser; import org.sonar.core.component.SnapshotPerspectives; import org.sonar.core.component.db.ComponentDao; import org.sonar.core.issue.IssueFilterSerializer; @@ -53,6 +57,9 @@ import org.sonar.core.test.TestablePerspectiveLoader; import org.sonar.core.timemachine.Periods; import org.sonar.core.user.DefaultUserFinder; import org.sonar.core.user.HibernateUserFinder; +import org.sonar.jpa.dao.MeasuresDao; +import org.sonar.jpa.dao.ProfilesDao; +import org.sonar.jpa.dao.RulesDao; import org.sonar.jpa.session.DatabaseSessionFactory; import org.sonar.server.charts.ChartFactory; import org.sonar.server.component.DefaultComponentFinder; @@ -182,27 +189,19 @@ public class ServerComponentsStarter { pico.addSingleton(Languages.class); pico.addSingleton(Views.class); pico.addSingleton(CodeColorizers.class); - pico.addComponent(ProfilesManager.class, false); - pico.addSingleton(SecurityRealmFactory.class); - pico.addSingleton(ServerLifecycleNotifier.class); - pico.addSingleton(AnnotationProfileParser.class); - pico.addSingleton(DefaultRuleFinder.class); - pico.addSingleton(DefaultMetricFinder.class); pico.addSingleton(ResourceTypes.class); pico.addSingleton(SettingsChangeNotifier.class); pico.addSingleton(PageDecorations.class); - pico.addSingleton(MeasureFilterFactory.class); - pico.addSingleton(MeasureFilterExecutor.class); - pico.addSingleton(MeasureFilterEngine.class); pico.addSingleton(PreviewCache.class); pico.addSingleton(DefaultResourcePermissions.class); pico.addSingleton(Periods.class); - // web services - pico.addSingleton(WebServiceEngine.class); - pico.addSingleton(ListingWs.class); - - // quality profiles + // quality profile + pico.addSingleton(XMLProfileParser.class); + pico.addSingleton(XMLProfileSerializer.class); + pico.addComponent(ProfilesDao.class, false); + pico.addComponent(ProfilesManager.class, false); + pico.addSingleton(AnnotationProfileParser.class); pico.addSingleton(QProfileRuleLookup.class); pico.addSingleton(QProfiles.class); pico.addSingleton(QProfileLookup.class); @@ -214,6 +213,37 @@ public class ServerComponentsStarter { pico.addSingleton(QProfileRepositoryExporter.class); pico.addSingleton(ESActiveRule.class); + // rule + pico.addSingleton(AnnotationRuleParser.class); + pico.addSingleton(XMLRuleParser.class); + pico.addComponent(RulesDao.class, false); + pico.addSingleton(DefaultRuleFinder.class); + pico.addSingleton(Rules.class); + pico.addSingleton(RuleOperations.class); + pico.addSingleton(RuleRegistry.class); + pico.addSingleton(RubyRuleService.class); + pico.addSingleton(RuleRepositories.class); + pico.addSingleton(RulesWs.class); + pico.addSingleton(RuleShowWsHandler.class); + pico.addSingleton(RuleSearchWsHandler.class); + pico.addSingleton(AddTagsWsHandler.class); + pico.addSingleton(RemoveTagsWsHandler.class); + + // rule tags + pico.addSingleton(ESRuleTags.class); + pico.addSingleton(RuleTagLookup.class); + pico.addSingleton(RuleTagOperations.class); + pico.addSingleton(RuleTags.class); + pico.addSingleton(RuleTagsWs.class); + + // measure + pico.addComponent(MeasuresDao.class, false); + pico.addSingleton(MeasureFilterFactory.class); + pico.addSingleton(MeasureFilterExecutor.class); + pico.addSingleton(MeasureFilterEngine.class); + pico.addSingleton(DefaultMetricFinder.class); + pico.addSingleton(ServerLifecycleNotifier.class); + // quality gates pico.addSingleton(QualityGateDao.class); pico.addSingleton(QualityGateConditionDao.class); @@ -223,7 +253,12 @@ public class ServerComponentsStarter { pico.addSingleton(QgateAppHandler.class); pico.addSingleton(QualityGatesWs.class); + // web services + pico.addSingleton(WebServiceEngine.class); + pico.addSingleton(ListingWs.class); + // users + pico.addSingleton(SecurityRealmFactory.class); pico.addSingleton(HibernateUserFinder.class); pico.addSingleton(NewUserNotifier.class); pico.addSingleton(DefaultUserFinder.class); @@ -275,25 +310,6 @@ public class ServerComponentsStarter { pico.addSingleton(CommentAction.class); pico.addSingleton(TransitionAction.class); - // rules - pico.addSingleton(Rules.class); - pico.addSingleton(RuleOperations.class); - pico.addSingleton(RuleRegistry.class); - pico.addSingleton(RubyRuleService.class); - pico.addSingleton(RuleRepositories.class); - pico.addSingleton(RulesWs.class); - pico.addSingleton(RuleShowWsHandler.class); - pico.addSingleton(RuleSearchWsHandler.class); - pico.addSingleton(AddTagsWsHandler.class); - pico.addSingleton(RemoveTagsWsHandler.class); - - // rule tags - pico.addSingleton(ESRuleTags.class); - pico.addSingleton(RuleTagLookup.class); - pico.addSingleton(RuleTagOperations.class); - pico.addSingleton(RuleTags.class); - pico.addSingleton(RuleTagsWs.class); - // technical debt pico.addSingleton(DebtService.class); pico.addSingleton(TechnicalDebtModelSynchronizer.class); -- 2.39.5