]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-8025 rename BigDecimalColumnDef to BigIntegerColumnDef
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Tue, 13 Sep 2016 14:15:52 +0000 (16:15 +0200)
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Fri, 16 Sep 2016 10:22:11 +0000 (12:22 +0200)
sonar-db/src/main/java/org/sonar/db/version/BigDecimalColumnDef.java [deleted file]
sonar-db/src/main/java/org/sonar/db/version/BigIntegerColumnDef.java [new file with mode: 0644]
sonar-db/src/main/java/org/sonar/db/version/v51/AddIssuesColumns.java
sonar-db/src/main/java/org/sonar/db/version/v55/AddActiveRulesLongDateColumns.java
sonar-db/src/main/java/org/sonar/db/version/v55/AddRulesColumns.java
sonar-db/src/main/java/org/sonar/db/version/v60/AddLastUsedColumnToRulesProfiles.java
sonar-db/src/main/java/org/sonar/db/version/v60/AddUserUpdatedAtToRulesProfiles.java
sonar-db/src/test/java/org/sonar/db/version/AddColumnsBuilderTest.java
sonar-db/src/test/java/org/sonar/db/version/BigDecimalColumnDefTest.java [deleted file]
sonar-db/src/test/java/org/sonar/db/version/BigIntegerColumnDefTest.java [new file with mode: 0644]

diff --git a/sonar-db/src/main/java/org/sonar/db/version/BigDecimalColumnDef.java b/sonar-db/src/main/java/org/sonar/db/version/BigDecimalColumnDef.java
deleted file mode 100644 (file)
index a408f78..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * SonarQube
- * Copyright (C) 2009-2016 SonarSource SA
- * mailto:contact AT sonarsource DOT com
- *
- * This program 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.
- *
- * This program 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.db.version;
-
-import javax.annotation.CheckForNull;
-import org.sonar.db.dialect.Dialect;
-import org.sonar.db.dialect.Oracle;
-
-import static org.sonar.db.version.ColumnDefValidation.validateColumnName;
-
-public class BigDecimalColumnDef extends AbstractColumnDef {
-
-  private BigDecimalColumnDef(Builder builder) {
-    super(builder.columnName, builder.isNullable);
-  }
-
-  public static Builder newBigDecimalColumnDefBuilder() {
-    return new Builder();
-  }
-
-  @Override
-  public String generateSqlType(Dialect dialect) {
-    return dialect.getId().equals(Oracle.ID) ? "NUMBER (38)" : "BIGINT";
-  }
-
-  public static class Builder {
-    @CheckForNull
-    private String columnName;
-
-    private boolean isNullable = true;
-
-    public Builder setColumnName(String columnName) {
-      this.columnName = validateColumnName(columnName);
-      return this;
-    }
-
-    public Builder setIsNullable(boolean isNullable) {
-      this.isNullable = isNullable;
-      return this;
-    }
-
-    public BigDecimalColumnDef build() {
-      validateColumnName(columnName);
-      return new BigDecimalColumnDef(this);
-    }
-  }
-
-}
diff --git a/sonar-db/src/main/java/org/sonar/db/version/BigIntegerColumnDef.java b/sonar-db/src/main/java/org/sonar/db/version/BigIntegerColumnDef.java
new file mode 100644 (file)
index 0000000..687ce18
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2016 SonarSource SA
+ * mailto:contact AT sonarsource DOT com
+ *
+ * This program 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.
+ *
+ * This program 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.db.version;
+
+import javax.annotation.CheckForNull;
+import org.sonar.db.dialect.Dialect;
+import org.sonar.db.dialect.Oracle;
+
+import static org.sonar.db.version.ColumnDefValidation.validateColumnName;
+
+public class BigIntegerColumnDef extends AbstractColumnDef {
+
+  private BigIntegerColumnDef(Builder builder) {
+    super(builder.columnName, builder.isNullable);
+  }
+
+  public static Builder newBigIntegerColumnDefBuilder() {
+    return new Builder();
+  }
+
+  @Override
+  public String generateSqlType(Dialect dialect) {
+    return dialect.getId().equals(Oracle.ID) ? "NUMBER (38)" : "BIGINT";
+  }
+
+  public static class Builder {
+    @CheckForNull
+    private String columnName;
+
+    private boolean isNullable = true;
+
+    public Builder setColumnName(String columnName) {
+      this.columnName = validateColumnName(columnName);
+      return this;
+    }
+
+    public Builder setIsNullable(boolean isNullable) {
+      this.isNullable = isNullable;
+      return this;
+    }
+
+    public BigIntegerColumnDef build() {
+      validateColumnName(columnName);
+      return new BigIntegerColumnDef(this);
+    }
+  }
+
+}
index 6eeaeb3166de34f3a724a0affd833fc5b14ebc7a..6e567a832ebae00d314995af98685ab0225c5adc 100644 (file)
@@ -24,7 +24,7 @@ import org.sonar.db.Database;
 import org.sonar.db.version.AddColumnsBuilder;
 import org.sonar.db.version.DdlChange;
 
-import static org.sonar.db.version.BigDecimalColumnDef.newBigDecimalColumnDefBuilder;
+import static org.sonar.db.version.BigIntegerColumnDef.newBigIntegerColumnDefBuilder;
 import static org.sonar.db.version.VarcharColumnDef.newVarcharColumnDefBuilder;
 
 /**
@@ -49,9 +49,9 @@ public class AddIssuesColumns extends DdlChange {
 
   private String generateSql() {
     return new AddColumnsBuilder(getDialect(), "issues")
-      .addColumn(newBigDecimalColumnDefBuilder().setColumnName("issue_creation_date_ms").setIsNullable(true).build())
-      .addColumn(newBigDecimalColumnDefBuilder().setColumnName("issue_update_date_ms").setIsNullable(true).build())
-      .addColumn(newBigDecimalColumnDefBuilder().setColumnName("issue_close_date_ms").setIsNullable(true).build())
+      .addColumn(newBigIntegerColumnDefBuilder().setColumnName("issue_creation_date_ms").setIsNullable(true).build())
+      .addColumn(newBigIntegerColumnDefBuilder().setColumnName("issue_update_date_ms").setIsNullable(true).build())
+      .addColumn(newBigIntegerColumnDefBuilder().setColumnName("issue_close_date_ms").setIsNullable(true).build())
       .addColumn(newVarcharColumnDefBuilder().setColumnName("tags").setLimit(4000).setIsNullable(true).build())
       .addColumn(newVarcharColumnDefBuilder().setColumnName("component_uuid").setLimit(50).setIsNullable(true).build())
       .addColumn(newVarcharColumnDefBuilder().setColumnName("project_uuid").setLimit(50).setIsNullable(true).build())
index f9e381b226d88c61a26f45f4952db65557ef950c..8e68cd2d2a5bdca8b6175f917865684a492f76d5 100644 (file)
@@ -24,7 +24,7 @@ import org.sonar.db.Database;
 import org.sonar.db.version.AddColumnsBuilder;
 import org.sonar.db.version.DdlChange;
 
-import static org.sonar.db.version.BigDecimalColumnDef.newBigDecimalColumnDefBuilder;
+import static org.sonar.db.version.BigIntegerColumnDef.newBigIntegerColumnDefBuilder;
 
 /**
  * Add the following columns to the active_rules table :
@@ -44,8 +44,8 @@ public class AddActiveRulesLongDateColumns extends DdlChange {
 
   private String generateSql() {
     return new AddColumnsBuilder(getDialect(), "active_rules")
-      .addColumn(newBigDecimalColumnDefBuilder().setColumnName("created_at_ms").setIsNullable(true).build())
-      .addColumn(newBigDecimalColumnDefBuilder().setColumnName("updated_at_ms").setIsNullable(true).build())
+      .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at_ms").setIsNullable(true).build())
+      .addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at_ms").setIsNullable(true).build())
       .build();
   }
 
index 400b4c7702f91cbf13aa6763182d8b827fb2ce2f..9ab16db051d5076184451e3378683e715711b60f 100644 (file)
@@ -25,7 +25,7 @@ import org.sonar.db.version.AddColumnsBuilder;
 import org.sonar.db.version.DdlChange;
 import org.sonar.db.version.TinyIntColumnDef;
 
-import static org.sonar.db.version.BigDecimalColumnDef.newBigDecimalColumnDefBuilder;
+import static org.sonar.db.version.BigIntegerColumnDef.newBigIntegerColumnDefBuilder;
 
 /**
  * Add the following columns to the rules table :
@@ -46,8 +46,8 @@ public class AddRulesColumns extends DdlChange {
 
   private String generateSql() {
     return new AddColumnsBuilder(getDialect(), "rules")
-      .addColumn(newBigDecimalColumnDefBuilder().setColumnName("created_at_ms").setIsNullable(true).build())
-      .addColumn(newBigDecimalColumnDefBuilder().setColumnName("updated_at_ms").setIsNullable(true).build())
+      .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at_ms").setIsNullable(true).build())
+      .addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at_ms").setIsNullable(true).build())
       .addColumn(new TinyIntColumnDef.Builder().setColumnName("rule_type").setIsNullable(true).build())
       .build();
   }
index bcdcfe4cf2a8ff4669cc5429412002e1071d5ff1..74759d242beb23eb599bec05d25dd2bd61098119 100644 (file)
@@ -25,7 +25,7 @@ import org.sonar.db.Database;
 import org.sonar.db.version.AddColumnsBuilder;
 import org.sonar.db.version.DdlChange;
 
-import static org.sonar.db.version.BigDecimalColumnDef.newBigDecimalColumnDefBuilder;
+import static org.sonar.db.version.BigIntegerColumnDef.newBigIntegerColumnDefBuilder;
 
 public class AddLastUsedColumnToRulesProfiles extends DdlChange {
 
@@ -38,7 +38,7 @@ public class AddLastUsedColumnToRulesProfiles extends DdlChange {
   @Override
   public void execute(Context context) throws SQLException {
     context.execute(new AddColumnsBuilder(getDatabase().getDialect(), TABLE_QUALITY_PROFILES)
-      .addColumn(newBigDecimalColumnDefBuilder().setColumnName("last_used").setIsNullable(true).build())
+      .addColumn(newBigIntegerColumnDefBuilder().setColumnName("last_used").setIsNullable(true).build())
       .build());
   }
 
index 4935ab7ad1535f7af02092e172d3c28b9a27bd4d..3d836b4c0fd32de3d3f977326bf8eec005344aa5 100644 (file)
@@ -25,7 +25,7 @@ import org.sonar.db.Database;
 import org.sonar.db.version.AddColumnsBuilder;
 import org.sonar.db.version.DdlChange;
 
-import static org.sonar.db.version.BigDecimalColumnDef.newBigDecimalColumnDefBuilder;
+import static org.sonar.db.version.BigIntegerColumnDef.newBigIntegerColumnDefBuilder;
 
 public class AddUserUpdatedAtToRulesProfiles extends DdlChange {
 
@@ -38,7 +38,7 @@ public class AddUserUpdatedAtToRulesProfiles extends DdlChange {
   @Override
   public void execute(Context context) throws SQLException {
     context.execute(new AddColumnsBuilder(getDatabase().getDialect(), TABLE_QUALITY_PROFILES)
-      .addColumn(newBigDecimalColumnDefBuilder().setColumnName("user_updated_at").setIsNullable(true).build())
+      .addColumn(newBigIntegerColumnDefBuilder().setColumnName("user_updated_at").setIsNullable(true).build())
       .build());
   }
 
index de35cfbda0d97f7caa93c4a06f0c8be267245131..d2df1bec86f66319c37fb05b23f7c07d9fdfe57e 100644 (file)
@@ -77,7 +77,7 @@ public class AddColumnsBuilderTest {
 
   private AddColumnsBuilder createSampleBuilder(Dialect dialect) {
     return new AddColumnsBuilder(dialect, TABLE_NAME)
-      .addColumn(new BigDecimalColumnDef.Builder().setColumnName("date_in_ms").setIsNullable(true).build())
+      .addColumn(new BigIntegerColumnDef.Builder().setColumnName("date_in_ms").setIsNullable(true).build())
       .addColumn(new VarcharColumnDef.Builder().setColumnName("name").setLimit(10).setIsNullable(false).build());
   }
 }
diff --git a/sonar-db/src/test/java/org/sonar/db/version/BigDecimalColumnDefTest.java b/sonar-db/src/test/java/org/sonar/db/version/BigDecimalColumnDefTest.java
deleted file mode 100644 (file)
index e1c5c94..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * SonarQube
- * Copyright (C) 2009-2016 SonarSource SA
- * mailto:contact AT sonarsource DOT com
- *
- * This program 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.
- *
- * This program 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.db.version;
-
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.sonar.db.dialect.H2;
-import org.sonar.db.dialect.MsSql;
-import org.sonar.db.dialect.MySql;
-import org.sonar.db.dialect.Oracle;
-import org.sonar.db.dialect.PostgreSql;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-public class BigDecimalColumnDefTest {
-
-  @Rule
-  public ExpectedException thrown = ExpectedException.none();
-
-  @Test
-  public void build_string_column_def() throws Exception {
-    BigDecimalColumnDef def = new BigDecimalColumnDef.Builder()
-      .setColumnName("issues")
-      .setIsNullable(true)
-      .build();
-
-    assertThat(def.getName()).isEqualTo("issues");
-    assertThat(def.isNullable()).isTrue();
-  }
-
-  @Test
-  public void build_string_column_def_with_default_values() throws Exception {
-    BigDecimalColumnDef def = new BigDecimalColumnDef.Builder()
-      .setColumnName("issues")
-      .build();
-
-    assertThat(def.getName()).isEqualTo("issues");
-    assertThat(def.isNullable()).isTrue();
-  }
-
-  @Test
-  public void generate_sql_type() throws Exception {
-    BigDecimalColumnDef def = new BigDecimalColumnDef.Builder()
-      .setColumnName("issues")
-      .setIsNullable(true)
-      .build();
-
-    assertThat(def.generateSqlType(new H2())).isEqualTo("BIGINT");
-    assertThat(def.generateSqlType(new PostgreSql())).isEqualTo("BIGINT");
-    assertThat(def.generateSqlType(new MsSql())).isEqualTo("BIGINT");
-    assertThat(def.generateSqlType(new MySql())).isEqualTo("BIGINT");
-    assertThat(def.generateSqlType(new Oracle())).isEqualTo("NUMBER (38)");
-  }
-
-  @Test
-  public void fail_with_NPE_if_name_is_null() throws Exception {
-    thrown.expect(NullPointerException.class);
-    thrown.expectMessage("Column name cannot be null");
-
-    new BigDecimalColumnDef.Builder()
-      .setColumnName(null);
-  }
-
-  @Test
-  public void fail_with_NPE_if_no_name() throws Exception {
-    thrown.expect(NullPointerException.class);
-    thrown.expectMessage("Column name cannot be null");
-
-    new BigDecimalColumnDef.Builder()
-      .build();
-  }
-
-}
diff --git a/sonar-db/src/test/java/org/sonar/db/version/BigIntegerColumnDefTest.java b/sonar-db/src/test/java/org/sonar/db/version/BigIntegerColumnDefTest.java
new file mode 100644 (file)
index 0000000..0c549a0
--- /dev/null
@@ -0,0 +1,91 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2016 SonarSource SA
+ * mailto:contact AT sonarsource DOT com
+ *
+ * This program 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.
+ *
+ * This program 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.db.version;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.sonar.db.dialect.H2;
+import org.sonar.db.dialect.MsSql;
+import org.sonar.db.dialect.MySql;
+import org.sonar.db.dialect.Oracle;
+import org.sonar.db.dialect.PostgreSql;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class BigIntegerColumnDefTest {
+
+  @Rule
+  public ExpectedException thrown = ExpectedException.none();
+
+  @Test
+  public void build_string_column_def() throws Exception {
+    BigIntegerColumnDef def = new BigIntegerColumnDef.Builder()
+      .setColumnName("issues")
+      .setIsNullable(true)
+      .build();
+
+    assertThat(def.getName()).isEqualTo("issues");
+    assertThat(def.isNullable()).isTrue();
+  }
+
+  @Test
+  public void build_string_column_def_with_default_values() throws Exception {
+    BigIntegerColumnDef def = new BigIntegerColumnDef.Builder()
+      .setColumnName("issues")
+      .build();
+
+    assertThat(def.getName()).isEqualTo("issues");
+    assertThat(def.isNullable()).isTrue();
+  }
+
+  @Test
+  public void generate_sql_type() throws Exception {
+    BigIntegerColumnDef def = new BigIntegerColumnDef.Builder()
+      .setColumnName("issues")
+      .setIsNullable(true)
+      .build();
+
+    assertThat(def.generateSqlType(new H2())).isEqualTo("BIGINT");
+    assertThat(def.generateSqlType(new PostgreSql())).isEqualTo("BIGINT");
+    assertThat(def.generateSqlType(new MsSql())).isEqualTo("BIGINT");
+    assertThat(def.generateSqlType(new MySql())).isEqualTo("BIGINT");
+    assertThat(def.generateSqlType(new Oracle())).isEqualTo("NUMBER (38)");
+  }
+
+  @Test
+  public void fail_with_NPE_if_name_is_null() throws Exception {
+    thrown.expect(NullPointerException.class);
+    thrown.expectMessage("Column name cannot be null");
+
+    new BigIntegerColumnDef.Builder()
+      .setColumnName(null);
+  }
+
+  @Test
+  public void fail_with_NPE_if_no_name() throws Exception {
+    thrown.expect(NullPointerException.class);
+    thrown.expectMessage("Column name cannot be null");
+
+    new BigIntegerColumnDef.Builder()
+      .build();
+  }
+
+}