]> source.dussan.org Git - sonarqube.git/commitdiff
Fix some quality flaws
authorSimon Brandhof <simon.brandhof@gmail.com>
Sun, 15 Jul 2012 19:54:49 +0000 (21:54 +0200)
committerSimon Brandhof <simon.brandhof@gmail.com>
Sun, 15 Jul 2012 19:54:49 +0000 (21:54 +0200)
sonar-core/src/main/java/org/sonar/core/persistence/DefaultDatabase.java
sonar-plugin-api/src/main/java/org/sonar/api/database/DatabaseProperties.java
sonar-plugin-api/src/main/java/org/sonar/api/platform/NewUserHandler.java
sonar-plugin-api/src/test/java/org/sonar/api/design/DependencyTest.java
sonar-server/src/main/java/org/sonar/server/platform/ServerSettings.java
sonar-server/src/main/java/org/sonar/server/startup/RegisterNewDashboards.java
sonar-server/src/main/java/org/sonar/server/startup/SetDefaultProjectPermissions.java

index 5ee2111cd6dc9b93bde07feb3f061bd603112bf1..ae05c0b10d3f8c34a142772e5529025347ecbb50 100644 (file)
@@ -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");
index 1c9df357485ba70d24c359458b73a6ef2384e31f..20da95de1c14f5df39b8c7145a015c746e819f01 100644 (file)
@@ -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";
index 3e65e571a988045848fb8496e2103bb6556c407b..833c68d7deaf0f808bd9ac9640a06cc684ef5f2a 100644 (file)
@@ -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;
index f9fd0e10d3371aba4259f4a5a91046dd872feec5..0faaff16ecd022592cfdc726d9f1270b525f2c61 100644 (file)
@@ -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)
index 60d2d053263c95c52710463a8b3c4c762f14425d..ba2d3dfdf332b6704e2aee7cff8abc9d206399c7 100644 (file)
@@ -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";
 
index 82943acaa0dde329ddbb1c9f578d08b7a7d8053f..ea1cd7f29dfc013fdbbdd105048f9c942c57210b 100644 (file)
@@ -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);
         }
       }
index 318a8ff60898082741fad10deb423a44b8bc21b7..9aa5702ea2176e8d6e752a4b6a67865a1932a266 100644 (file)
@@ -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);
     }