--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * SonarQube is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.sonar.server.computation;
+
+import org.sonar.core.platform.Module;
+import org.sonar.db.purge.period.DefaultPeriodCleaner;
+import org.sonar.server.computation.dbcleaner.IndexPurgeListener;
+import org.sonar.server.computation.dbcleaner.ProjectCleaner;
+import org.sonar.server.computation.log.CeLogging;
+import org.sonar.server.properties.ProjectSettingsFactory;
+
+/**
+ * Globally available components in CE
+ */
+public class CeModule extends Module {
+ @Override
+ protected void configureModule() {
+ add(
+ CeLogging.class,
+
+ DefaultPeriodCleaner.class,
+ ProjectCleaner.class,
+ ProjectSettingsFactory.class,
+ IndexPurgeListener.class);
+ }
+}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * SonarQube is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-package org.sonar.server.computation;
-
-import org.sonar.core.platform.Module;
-import org.sonar.server.computation.container.ContainerFactoryImpl;
-import org.sonar.server.computation.queue.CeProcessingSchedulerExecutorServiceImpl;
-import org.sonar.server.computation.queue.CeProcessingSchedulerImpl;
-import org.sonar.server.computation.queue.CeWorkerRunnableImpl;
-import org.sonar.server.computation.queue.report.ReportTaskProcessor;
-import org.sonar.server.computation.step.ComputationStepExecutor;
-
-public class ComputeEngineProcessingModule extends Module {
- @Override
- protected void configureModule() {
- add(
- ContainerFactoryImpl.class,
- ComputationStepExecutor.class,
- ReportTaskProcessor.class,
- CeProcessingSchedulerExecutorServiceImpl.class,
- CeWorkerRunnableImpl.class,
- CeProcessingSchedulerImpl.class);
- }
-}
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * SonarQube is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.sonar.server.computation.container;
+
+import org.sonar.core.platform.Module;
+import org.sonar.server.computation.queue.report.ReportSubmitter;
+import org.sonar.server.computation.queue.report.ReportTaskProcessor;
+import org.sonar.server.computation.step.ComputationStepExecutor;
+
+public class ReportProcessingModule extends Module {
+ @Override
+ protected void configureModule() {
+ add(
+ ContainerFactoryImpl.class,
+ ComputationStepExecutor.class,
+ ReportTaskProcessor.class,
+ ReportSubmitter.class
+ );
+ }
+}
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * SonarQube is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.sonar.server.computation.queue;
+
+import org.sonar.core.platform.Module;
+import org.sonar.server.computation.monitoring.CEQueueStatusImpl;
+import org.sonar.server.computation.monitoring.ComputeEngineQueueMonitor;
+import org.sonar.server.computation.queue.report.CleanReportQueueListener;
+import org.sonar.server.computation.queue.report.ReportFiles;
+
+public class CeQueueModule extends Module {
+ @Override
+ protected void configureModule() {
+ add(
+ // queue state
+ CeQueueImpl.class,
+
+ // queue monitoring
+ CEQueueStatusImpl.class,
+ ComputeEngineQueueMonitor.class,
+
+ // CE queue processing
+ CeProcessingSchedulerExecutorServiceImpl.class,
+ CeWorkerRunnableImpl.class,
+ CeProcessingSchedulerImpl.class,
+
+ // queue cleaning
+ CeQueueCleaner.class,
+ CleanReportQueueListener.class,
+ ReportFiles.class,
+
+ // init queue state and queue processing
+ CeQueueInitializer.class
+ );
+ }
+}
import org.sonar.core.user.DefaultUserFinder;
import org.sonar.core.user.DeprecatedUserFinder;
import org.sonar.db.permission.PermissionRepository;
-import org.sonar.db.purge.period.DefaultPeriodCleaner;
import org.sonar.db.qualitygate.ProjectQgateAssociationDao;
import org.sonar.db.qualitygate.QualityGateConditionDao;
import org.sonar.db.qualitygate.QualityGateDao;
import org.sonar.server.component.ws.ComponentsWs;
import org.sonar.server.component.ws.EventsWs;
import org.sonar.server.component.ws.ResourcesWs;
-import org.sonar.server.computation.queue.CeQueueImpl;
-import org.sonar.server.computation.queue.CeQueueCleaner;
-import org.sonar.server.computation.queue.CeQueueInitializer;
-import org.sonar.server.computation.queue.report.CleanReportQueueListener;
-import org.sonar.server.computation.ComputeEngineProcessingModule;
-import org.sonar.server.computation.queue.report.ReportFiles;
-import org.sonar.server.computation.queue.report.ReportSubmitter;
-import org.sonar.server.computation.dbcleaner.IndexPurgeListener;
-import org.sonar.server.computation.dbcleaner.ProjectCleaner;
-import org.sonar.server.computation.log.CeLogging;
-import org.sonar.server.computation.monitoring.CEQueueStatusImpl;
-import org.sonar.server.computation.monitoring.ComputeEngineQueueMonitor;
+import org.sonar.server.computation.CeModule;
+import org.sonar.server.computation.container.ReportProcessingModule;
+import org.sonar.server.computation.queue.CeQueueModule;
import org.sonar.server.computation.ws.CeWsModule;
import org.sonar.server.config.ws.PropertiesWs;
import org.sonar.server.dashboard.template.GlobalDefaultDashboard;
import org.sonar.server.plugins.ws.UninstallAction;
import org.sonar.server.plugins.ws.UpdatesAction;
import org.sonar.server.project.ws.ProjectsWsModule;
-import org.sonar.server.properties.ProjectSettingsFactory;
import org.sonar.server.qualitygate.QgateProjectFinder;
import org.sonar.server.qualitygate.QualityGates;
import org.sonar.server.qualitygate.ws.CreateConditionAction;
PluginsWs.class,
// Compute engine
- CEQueueStatusImpl.class,
- ComputeEngineQueueMonitor.class,
- CeQueueImpl.class,
- CleanReportQueueListener.class,
- ReportFiles.class,
- ComputeEngineProcessingModule.class,
+ CeModule.class,
+ CeQueueModule.class,
CeWsModule.class,
- CeLogging.class,
- DefaultPeriodCleaner.class,
- ProjectCleaner.class,
- ProjectSettingsFactory.class,
- IndexPurgeListener.class,
- ReportSubmitter.class,
- CeQueueCleaner.class,
- CeQueueInitializer.class,
+ ReportProcessingModule.class,
+
// Views plugin
ViewsBootstrap.class,
ViewsStopper.class,