summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@gmail.com>2012-07-15 21:54:49 +0200
committerSimon Brandhof <simon.brandhof@gmail.com>2012-07-15 21:54:49 +0200
commit9f6f69e368d06a0ae064ad9fd6fded06307d0c99 (patch)
treea2093084eea754abce330c7c706c229d8d85af13
parent3304cf145f064766b10f9e657d8b82f3e6f25465 (diff)
downloadsonarqube-9f6f69e368d06a0ae064ad9fd6fded06307d0c99.tar.gz
sonarqube-9f6f69e368d06a0ae064ad9fd6fded06307d0c99.zip
Fix some quality flaws
-rw-r--r--sonar-core/src/main/java/org/sonar/core/persistence/DefaultDatabase.java14
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/database/DatabaseProperties.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/platform/NewUserHandler.java2
-rw-r--r--sonar-plugin-api/src/test/java/org/sonar/api/design/DependencyTest.java16
-rw-r--r--sonar-server/src/main/java/org/sonar/server/platform/ServerSettings.java3
-rw-r--r--sonar-server/src/main/java/org/sonar/server/startup/RegisterNewDashboards.java45
-rw-r--r--sonar-server/src/main/java/org/sonar/server/startup/SetDefaultProjectPermissions.java21
7 files changed, 45 insertions, 58 deletions
diff --git a/sonar-core/src/main/java/org/sonar/core/persistence/DefaultDatabase.java b/sonar-core/src/main/java/org/sonar/core/persistence/DefaultDatabase.java
index 5ee2111cd6d..ae05c0b10d3 100644
--- a/sonar-core/src/main/java/org/sonar/core/persistence/DefaultDatabase.java
+++ b/sonar-core/src/main/java/org/sonar/core/persistence/DefaultDatabase.java
@@ -20,7 +20,6 @@
package org.sonar.core.persistence;
import com.google.common.annotations.VisibleForTesting;
-
import org.apache.commons.dbcp.BasicDataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
import org.apache.commons.lang.StringUtils;
@@ -29,15 +28,10 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.sonar.api.config.Settings;
import org.sonar.api.database.DatabaseProperties;
-import org.sonar.core.persistence.dialect.Dialect;
-import org.sonar.core.persistence.dialect.DialectUtils;
-import org.sonar.core.persistence.dialect.H2;
-import org.sonar.core.persistence.dialect.Oracle;
-import org.sonar.core.persistence.dialect.PostgreSql;
+import org.sonar.core.persistence.dialect.*;
import org.sonar.jpa.session.CustomHibernateConnectionProvider;
import javax.sql.DataSource;
-
import java.sql.SQLException;
import java.util.Arrays;
import java.util.List;
@@ -51,6 +45,8 @@ public class DefaultDatabase implements Database {
private static final Logger LOG = LoggerFactory.getLogger(Database.class);
+ private static final String DEFAULT_URL = "jdbc:h2:tcp://localhost/sonar";
+
private Settings settings;
private BasicDataSource datasource;
private Dialect dialect;
@@ -117,7 +113,7 @@ public class DefaultDatabase implements Database {
private void initDatasource() throws Exception {// NOSONAR this exception is thrown by BasicDataSourceFactory
// but it's correctly caught by start()
- LOG.info("Create JDBC datasource to url " + properties.getProperty(DatabaseProperties.PROP_URL, DatabaseProperties.PROP_URL_DEFAULT_VALUE));
+ LOG.info("Create JDBC datasource to url " + properties.getProperty(DatabaseProperties.PROP_URL, DEFAULT_URL));
datasource = (BasicDataSource) BasicDataSourceFactory.createDataSource(extractCommonsDbcpProperties(properties));
String initStatement = dialect.getConnectionInitStatement(getSchema());
@@ -212,7 +208,7 @@ public class DefaultDatabase implements Database {
private static void completeDefaultProperties(Properties props) {
completeDefaultProperty(props, DatabaseProperties.PROP_DRIVER, props.getProperty(DatabaseProperties.PROP_DRIVER_DEPRECATED));
- completeDefaultProperty(props, DatabaseProperties.PROP_URL, DatabaseProperties.PROP_URL_DEFAULT_VALUE);
+ completeDefaultProperty(props, DatabaseProperties.PROP_URL, DEFAULT_URL);
completeDefaultProperty(props, DatabaseProperties.PROP_USER, props.getProperty(DatabaseProperties.PROP_USER_DEPRECATED, DatabaseProperties.PROP_USER_DEFAULT_VALUE));
completeDefaultProperty(props, DatabaseProperties.PROP_PASSWORD, DatabaseProperties.PROP_PASSWORD_DEFAULT_VALUE);
completeDefaultProperty(props, DatabaseProperties.PROP_HIBERNATE_HBM2DLL, "validate");
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/database/DatabaseProperties.java b/sonar-plugin-api/src/main/java/org/sonar/api/database/DatabaseProperties.java
index 1c9df357485..20da95de1c1 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/database/DatabaseProperties.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/database/DatabaseProperties.java
@@ -24,9 +24,7 @@ public interface DatabaseProperties {
int MAX_TEXT_SIZE = 16777215;
String PROP_URL = "sonar.jdbc.url";
- String PROP_URL_DEFAULT_VALUE = "jdbc:h2:tcp://localhost/sonar";
String PROP_DRIVER = "sonar.jdbc.driverClassName";
- String PROP_DRIVER_DEFAULT_VALUE = "org.h2.Driver";
String PROP_DRIVER_DEPRECATED = "sonar.jdbc.driver";
String PROP_USER = "sonar.jdbc.username";
String PROP_USER_DEPRECATED = "sonar.jdbc.user";
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/platform/NewUserHandler.java b/sonar-plugin-api/src/main/java/org/sonar/api/platform/NewUserHandler.java
index 3e65e571a98..833c68d7dea 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/platform/NewUserHandler.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/platform/NewUserHandler.java
@@ -58,7 +58,7 @@ public interface NewUserHandler extends ServerExtension {
return new Builder();
}
- public static class Builder {
+ public static final class Builder {
private String login;
private String name;
private String email;
diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/design/DependencyTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/design/DependencyTest.java
index f9fd0e10d33..0faaff16ecd 100644
--- a/sonar-plugin-api/src/test/java/org/sonar/api/design/DependencyTest.java
+++ b/sonar-plugin-api/src/test/java/org/sonar/api/design/DependencyTest.java
@@ -21,9 +21,7 @@ package org.sonar.api.design;
import org.junit.Test;
-import static junit.framework.Assert.assertTrue;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
+import static org.fest.assertions.Assertions.assertThat;
public class DependencyTest {
@@ -33,13 +31,13 @@ public class DependencyTest {
DependencyDto dep1Clone = new DependencyDto().setFromSnapshotId(10).setToSnapshotId(30);
DependencyDto dep2 = new DependencyDto().setFromSnapshotId(10).setToSnapshotId(31);
- assertFalse(dep1.equals(dep2));
- assertTrue(dep1.equals(dep1));
- assertTrue(dep1.equals(dep1Clone));
+ assertThat(dep1.equals(dep2)).isFalse();
+ assertThat(dep1.equals(dep1)).isTrue();
+ assertThat(dep1.equals(dep1Clone)).isTrue();
- assertEquals(dep1.hashCode(), dep1.hashCode());
- assertEquals(dep1.hashCode(), dep1Clone.hashCode());
- assertEquals(dep1.toString(), dep1.toString());
+ assertThat(dep1.hashCode()).isEqualTo(dep1.hashCode());
+ assertThat(dep1.hashCode()).isEqualTo(dep1Clone.hashCode());
+ assertThat(dep1.toString()).isEqualTo(dep1.toString());
}
@Test(expected = IllegalArgumentException.class)
diff --git a/sonar-server/src/main/java/org/sonar/server/platform/ServerSettings.java b/sonar-server/src/main/java/org/sonar/server/platform/ServerSettings.java
index 60d2d053263..ba2d3dfdf33 100644
--- a/sonar-server/src/main/java/org/sonar/server/platform/ServerSettings.java
+++ b/sonar-server/src/main/java/org/sonar/server/platform/ServerSettings.java
@@ -22,7 +22,6 @@ package org.sonar.server.platform;
import com.google.common.annotations.VisibleForTesting;
import org.apache.commons.configuration.Configuration;
import org.sonar.api.CoreProperties;
-import org.sonar.api.ServerComponent;
import org.sonar.api.config.GlobalPropertyChangeHandler;
import org.sonar.api.config.PropertyDefinitions;
import org.sonar.api.config.Settings;
@@ -46,7 +45,7 @@ import java.util.Properties;
*
* @since 2.12
*/
-public class ServerSettings extends Settings implements ServerComponent {
+public class ServerSettings extends Settings {
public static final String DEPLOY_DIR = "sonar.web.deployDir";
diff --git a/sonar-server/src/main/java/org/sonar/server/startup/RegisterNewDashboards.java b/sonar-server/src/main/java/org/sonar/server/startup/RegisterNewDashboards.java
index 82943acaa0d..ea1cd7f29df 100644
--- a/sonar-server/src/main/java/org/sonar/server/startup/RegisterNewDashboards.java
+++ b/sonar-server/src/main/java/org/sonar/server/startup/RegisterNewDashboards.java
@@ -21,17 +21,11 @@ package org.sonar.server.startup;
import com.google.common.collect.Lists;
import com.google.common.collect.Ordering;
-import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.sonar.api.utils.TimeProfiler;
import org.sonar.api.web.Dashboard;
import org.sonar.api.web.DashboardTemplate;
-import org.sonar.core.dashboard.ActiveDashboardDao;
-import org.sonar.core.dashboard.ActiveDashboardDto;
-import org.sonar.core.dashboard.DashboardDao;
-import org.sonar.core.dashboard.DashboardDto;
-import org.sonar.core.dashboard.WidgetDto;
-import org.sonar.core.dashboard.WidgetPropertyDto;
+import org.sonar.core.dashboard.*;
import org.sonar.core.template.LoadedTemplateDao;
import org.sonar.core.template.LoadedTemplateDto;
@@ -44,7 +38,6 @@ import java.util.Map.Entry;
* @since 2.13
*/
public final class RegisterNewDashboards {
- private static final Logger LOG = LoggerFactory.getLogger(RegisterNewDashboards.class);
static final String DEFAULT_DASHBOARD_NAME = "Dashboard";
private final List<DashboardTemplate> dashboardTemplates;
@@ -53,7 +46,7 @@ public final class RegisterNewDashboards {
private final LoadedTemplateDao loadedTemplateDao;
public RegisterNewDashboards(DashboardTemplate[] dashboardTemplatesArray, DashboardDao dashboardDao,
- ActiveDashboardDao activeDashboardDao, LoadedTemplateDao loadedTemplateDao) {
+ ActiveDashboardDao activeDashboardDao, LoadedTemplateDao loadedTemplateDao) {
this.dashboardTemplates = Lists.newArrayList(dashboardTemplatesArray);
this.dashboardDao = dashboardDao;
this.activeDashboardDao = activeDashboardDao;
@@ -89,8 +82,8 @@ public final class RegisterNewDashboards {
private void activate(DashboardDto dashboardDto, int index) {
ActiveDashboardDto activeDashboardDto = new ActiveDashboardDto()
- .setDashboardId(dashboardDto.getId())
- .setOrderIndex(index);
+ .setDashboardId(dashboardDto.getId())
+ .setOrderIndex(index);
activeDashboardDao.insert(activeDashboardDto);
LoggerFactory.getLogger(getClass()).info("New dashboard '" + dashboardDto.getName() + "' registered");
@@ -111,31 +104,31 @@ public final class RegisterNewDashboards {
Date now = new Date();
DashboardDto dashboardDto = new DashboardDto()
- .setName(name)
- .setDescription(dashboard.getDescription())
- .setColumnLayout(dashboard.getLayout().getCode())
- .setShared(true)
- .setGlobal(dashboard.isGlobal())
- .setCreatedAt(now)
- .setUpdatedAt(now);
+ .setName(name)
+ .setDescription(dashboard.getDescription())
+ .setColumnLayout(dashboard.getLayout().getCode())
+ .setShared(true)
+ .setGlobal(dashboard.isGlobal())
+ .setCreatedAt(now)
+ .setUpdatedAt(now);
for (int columnIndex = 1; columnIndex <= dashboard.getLayout().getColumns(); columnIndex++) {
List<Dashboard.Widget> widgets = dashboard.getWidgetsOfColumn(columnIndex);
for (int rowIndex = 1; rowIndex <= widgets.size(); rowIndex++) {
Dashboard.Widget widget = widgets.get(rowIndex - 1);
WidgetDto widgetDto = new WidgetDto()
- .setKey(widget.getId())
- .setColumnIndex(columnIndex)
- .setRowIndex(rowIndex)
- .setConfigured(true)
- .setCreatedAt(now)
- .setUpdatedAt(now);
+ .setKey(widget.getId())
+ .setColumnIndex(columnIndex)
+ .setRowIndex(rowIndex)
+ .setConfigured(true)
+ .setCreatedAt(now)
+ .setUpdatedAt(now);
dashboardDto.addWidget(widgetDto);
for (Entry<String, String> property : widget.getProperties().entrySet()) {
WidgetPropertyDto propDto = new WidgetPropertyDto()
- .setKey(property.getKey())
- .setValue(property.getValue());
+ .setKey(property.getKey())
+ .setValue(property.getValue());
widgetDto.addWidgetProperty(propDto);
}
}
diff --git a/sonar-server/src/main/java/org/sonar/server/startup/SetDefaultProjectPermissions.java b/sonar-server/src/main/java/org/sonar/server/startup/SetDefaultProjectPermissions.java
index 318a8ff6089..9aa5702ea21 100644
--- a/sonar-server/src/main/java/org/sonar/server/startup/SetDefaultProjectPermissions.java
+++ b/sonar-server/src/main/java/org/sonar/server/startup/SetDefaultProjectPermissions.java
@@ -29,6 +29,9 @@ import java.util.Map;
* @since 3.2
*/
public class SetDefaultProjectPermissions {
+ private static final String SONAR_ADMINISTRATORS = "sonar-administrators";
+ private static final String ANYONE_AND_USERS = "Anyone,sonar-users";
+
private final PersistentSettings persistentSettings;
public SetDefaultProjectPermissions(PersistentSettings persistentSettings) {
@@ -39,17 +42,17 @@ public class SetDefaultProjectPermissions {
if (persistentSettings.getSettings().getKeysStartingWith("sonar.role.").isEmpty()) {
LoggerFactory.getLogger(SetDefaultProjectPermissions.class).info("Setting default project permissions");
Map<String, String> props = Maps.newHashMap();
- props.put("sonar.role.admin.TRK.defaultGroups", "sonar-administrators");
- props.put("sonar.role.user.TRK.defaultGroups", "Anyone,sonar-users");
- props.put("sonar.role.codeviewer.TRK.defaultGroups", "Anyone,sonar-users");
+ props.put("sonar.role.admin.TRK.defaultGroups", SONAR_ADMINISTRATORS);
+ props.put("sonar.role.user.TRK.defaultGroups", ANYONE_AND_USERS);
+ props.put("sonar.role.codeviewer.TRK.defaultGroups", ANYONE_AND_USERS);
// Support old versions of Views plugin
- props.put("sonar.role.admin.VW.defaultGroups", "sonar-administrators");
- props.put("sonar.role.user.VW.defaultGroups", "Anyone,sonar-users");
- props.put("sonar.role.codeviewer.VW.defaultGroups", "Anyone,sonar-users");
- props.put("sonar.role.admin.SVW.defaultGroups", "sonar-administrators");
- props.put("sonar.role.user.SVW.defaultGroups", "Anyone,sonar-users");
- props.put("sonar.role.codeviewer.SVW.defaultGroups", "Anyone,sonar-users");
+ props.put("sonar.role.admin.VW.defaultGroups", SONAR_ADMINISTRATORS);
+ props.put("sonar.role.user.VW.defaultGroups", ANYONE_AND_USERS);
+ props.put("sonar.role.codeviewer.VW.defaultGroups", ANYONE_AND_USERS);
+ props.put("sonar.role.admin.SVW.defaultGroups", SONAR_ADMINISTRATORS);
+ props.put("sonar.role.user.SVW.defaultGroups", ANYONE_AND_USERS);
+ props.put("sonar.role.codeviewer.SVW.defaultGroups", ANYONE_AND_USERS);
persistentSettings.saveProperties(props);
}