aboutsummaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>2015-05-13 13:43:35 +0200
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>2015-05-27 12:11:37 +0200
commit28d2d525ccd55cf49a24c5b73639c932bf223ae3 (patch)
treedd1b5d3f3a6f8aa9c908cff13ed8a7db025f1e01 /server
parentf5704c2461e720c2ef8c6f514d27b7caaed09a65 (diff)
downloadsonarqube-28d2d525ccd55cf49a24c5b73639c932bf223ae3.tar.gz
sonarqube-28d2d525ccd55cf49a24c5b73639c932bf223ae3.zip
add Module concept to component management
Diffstat (limited to 'server')
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel.java15
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel1.java4
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel2.java3
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel3.java3
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel4.java4
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevelSafeMode.java4
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevelStartup.java4
7 files changed, 20 insertions, 17 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel.java b/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel.java
index dbb30dfdd84..28aad7223cc 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel.java
@@ -20,9 +20,11 @@
package org.sonar.server.platform.platformlevel;
import java.util.Collection;
+import java.util.List;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.sonar.core.platform.ComponentContainer;
+import org.sonar.core.component.Module;
import static com.google.common.base.Preconditions.checkNotNull;
@@ -62,7 +64,18 @@ public abstract class PlatformLevel {
return parent.createChild();
}
- public abstract PlatformLevel configure();
+ public PlatformLevel configure() {
+ configureLevel();
+
+ List<Module> modules = container.getComponentsByType(Module.class);
+ for (Module module : modules) {
+ module.configure(container);
+ }
+
+ return this;
+ }
+
+ protected abstract void configureLevel();
/**
* Intended to be override by subclasses if needed
diff --git a/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel1.java b/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel1.java
index 4fa1e41d2aa..1752c5d9a79 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel1.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel1.java
@@ -90,7 +90,7 @@ public class PlatformLevel1 extends PlatformLevel {
}
@Override
- public PlatformLevel configure() {
+ public void configureLevel() {
add(platform, properties);
addExtraRootComponents();
add(
@@ -166,8 +166,6 @@ public class PlatformLevel1 extends PlatformLevel {
addAll(CorePropertyDefinitions.all());
addAll(MigrationSteps.CLASSES);
addAll(DaoUtils.getDaoClasses());
-
- return this;
}
private void addExtraRootComponents() {
diff --git a/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel2.java b/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel2.java
index ccedb2a3961..062e796de67 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel2.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel2.java
@@ -41,7 +41,7 @@ public class PlatformLevel2 extends PlatformLevel {
}
@Override
- public PlatformLevel configure() {
+ protected void configureLevel() {
add(
DefaultServerUpgradeStatus.class,
DatabaseMigrator.class,
@@ -66,6 +66,5 @@ public class PlatformLevel2 extends PlatformLevel {
// DB migration
PlatformDatabaseMigrationExecutorServiceImpl.class,
PlatformDatabaseMigration.class);
- return this;
}
}
diff --git a/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel3.java b/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel3.java
index 52ec6287938..7df65744ac5 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel3.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel3.java
@@ -34,7 +34,7 @@ public class PlatformLevel3 extends PlatformLevel {
}
@Override
- public PlatformLevel configure() {
+ protected void configureLevel() {
add(
PersistentSettings.class,
DefaultDatabaseConnector.class,
@@ -44,6 +44,5 @@ public class PlatformLevel3 extends PlatformLevel {
DefaultHttpDownloader.class,
UriReader.class,
ServerIdGenerator.class);
- return this;
}
}
diff --git a/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel4.java b/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel4.java
index 22c6112ca22..5fee29e8167 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel4.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevel4.java
@@ -301,7 +301,7 @@ public class PlatformLevel4 extends PlatformLevel {
}
@Override
- public PlatformLevel configure() {
+ protected void configureLevel() {
add(
PluginDownloader.class,
ChartFactory.class,
@@ -692,8 +692,6 @@ public class PlatformLevel4 extends PlatformLevel {
NavigationWs.class);
addAll(level4AddedComponents);
-
- return this;
}
@Override
diff --git a/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevelSafeMode.java b/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevelSafeMode.java
index 1fa81165fd4..ac863cb139a 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevelSafeMode.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevelSafeMode.java
@@ -33,7 +33,7 @@ public class PlatformLevelSafeMode extends PlatformLevel {
}
@Override
- public PlatformLevel configure() {
+ protected void configureLevel() {
add(
// DB access required by DatabaseSessionFilter wired into ROR
DefaultDatabaseConnector.class,
@@ -49,7 +49,5 @@ public class PlatformLevelSafeMode extends PlatformLevel {
// WS engine
WebServiceEngine.class);
-
- return this;
}
}
diff --git a/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevelStartup.java b/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevelStartup.java
index acfe928ddc7..9629f23d03f 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevelStartup.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/platform/platformlevel/PlatformLevelStartup.java
@@ -48,7 +48,7 @@ public class PlatformLevelStartup extends PlatformLevel {
}
@Override
- public PlatformLevel configure() {
+ protected void configureLevel() {
add(
IndexSynchronizer.class,
RegisterMetrics.class,
@@ -68,8 +68,6 @@ public class PlatformLevelStartup extends PlatformLevel {
ReportQueueCleaner.class,
RegisterIssueFilters.class,
RenameIssueWidgets.class);
-
- return this;
}
@Override