aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>2019-10-08 11:12:12 +0200
committerSonarTech <sonartech@sonarsource.com>2019-10-09 20:21:06 +0200
commit140e84fbdfd4ec9ddc15a7574d984ff1c059f6a0 (patch)
treef90f9b95ee59ece7a2347a12316cb5a1c2d5ad11
parent82c9246f858728ef01603989d129342fb9830785 (diff)
downloadsonarqube-140e84fbdfd4ec9ddc15a7574d984ff1c059f6a0.tar.gz
sonarqube-140e84fbdfd4ec9ddc15a7574d984ff1c059f6a0.zip
fix some quality flaws on the new code period
-rw-r--r--server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/qualitymodel/ReliabilityAndSecurityRatingMeasuresVisitor.java4
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/metric/MetricDto.java3
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/QualityProfileExportDao.java2
-rw-r--r--server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v00/CreateInitialSchema.java408
-rw-r--r--server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v00/PopulateInitialSchema.java52
-rw-r--r--server/sonar-main/src/main/java/org/sonar/application/SchedulerImpl.java12
-rw-r--r--server/sonar-main/src/main/java/org/sonar/application/es/EsLogging.java2
-rw-r--r--server/sonar-process/src/main/java/org/sonar/process/logging/Log4JPropertiesBuilder.java6
-rw-r--r--server/sonar-process/src/test/java/org/sonar/process/logging/Log4JPropertiesBuilderTest.java2
-rw-r--r--server/sonar-server-common/src/main/java/org/sonar/server/metric/MetricToDto.java5
-rw-r--r--server/sonar-server-common/src/main/java/org/sonar/server/util/Paths2Impl.java8
-rw-r--r--server/sonar-webserver-api/src/main/java/org/sonar/server/exceptions/NotFoundException.java9
-rw-r--r--server/sonar-webserver-api/src/main/java/org/sonar/server/util/GlobalLockManagerImpl.java1
-rw-r--r--server/sonar-webserver-api/src/test/java/org/sonar/server/exceptions/NotFoundExceptionTest.java94
-rw-r--r--server/sonar-webserver-auth/src/main/java/org/sonar/server/permission/GroupIdOrAnyone.java2
-rw-r--r--server/sonar-webserver-auth/src/test/java/org/sonar/server/permission/GroupIdOrAnyoneTest.java94
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/TaskAction.java6
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/SearchResponseFormat.java4
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/organization/ws/PreventUserDeletionAction.java2
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/QProfileBackuperImpl.java6
-rw-r--r--server/sonar-webserver/src/main/java/org/sonar/server/platform/web/MasterServletFilter.java10
-rw-r--r--sonar-scanner-engine/src/main/java/org/sonar/scanner/cpd/CpdSettings.java1
22 files changed, 476 insertions, 257 deletions
diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/qualitymodel/ReliabilityAndSecurityRatingMeasuresVisitor.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/qualitymodel/ReliabilityAndSecurityRatingMeasuresVisitor.java
index a4eb9234515..534c47cc351 100644
--- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/qualitymodel/ReliabilityAndSecurityRatingMeasuresVisitor.java
+++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/qualitymodel/ReliabilityAndSecurityRatingMeasuresVisitor.java
@@ -20,15 +20,12 @@
package org.sonar.ce.task.projectanalysis.qualitymodel;
import com.google.common.collect.ImmutableMap;
-import java.util.EnumMap;
-import java.util.HashMap;
import java.util.Map;
import org.sonar.api.measures.CoreMetrics;
import org.sonar.ce.task.projectanalysis.component.Component;
import org.sonar.ce.task.projectanalysis.component.PathAwareVisitorAdapter;
import org.sonar.ce.task.projectanalysis.formula.counter.RatingValue;
import org.sonar.ce.task.projectanalysis.issue.ComponentIssuesRepository;
-import org.sonar.ce.task.projectanalysis.measure.Measure;
import org.sonar.ce.task.projectanalysis.measure.MeasureRepository;
import org.sonar.ce.task.projectanalysis.measure.RatingMeasures;
import org.sonar.ce.task.projectanalysis.metric.Metric;
@@ -40,7 +37,6 @@ import static org.sonar.api.measures.CoreMetrics.SECURITY_RATING_KEY;
import static org.sonar.api.rules.RuleType.BUG;
import static org.sonar.api.rules.RuleType.VULNERABILITY;
import static org.sonar.ce.task.projectanalysis.component.CrawlerDepthLimit.FILE;
-import static org.sonar.ce.task.projectanalysis.measure.Measure.newMeasureBuilder;
import static org.sonar.server.measure.Rating.RATING_BY_SEVERITY;
/**
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/metric/MetricDto.java b/server/sonar-db-dao/src/main/java/org/sonar/db/metric/MetricDto.java
index 33db00e3d25..52a16a46903 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/metric/MetricDto.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/metric/MetricDto.java
@@ -22,9 +22,6 @@ package org.sonar.db.metric;
import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
-import static org.sonar.api.measures.Metric.ValueType.DATA;
-import static org.sonar.api.measures.Metric.ValueType.DISTRIB;
-import static org.sonar.api.measures.Metric.ValueType.STRING;
import static org.sonar.db.metric.MetricValidator.checkMetricDescription;
import static org.sonar.db.metric.MetricValidator.checkMetricDomain;
import static org.sonar.db.metric.MetricValidator.checkMetricKey;
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/QualityProfileExportDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/QualityProfileExportDao.java
index 5f2ff75ff8f..34a87233d2c 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/QualityProfileExportDao.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/QualityProfileExportDao.java
@@ -44,7 +44,7 @@ public class QualityProfileExportDao implements Dao {
return exportRules;
}
- private Map<Integer, List<ExportRuleParamDto>> selectParamsByActiveRuleIds(DbSession dbSession, Collection<Integer> activeRuleIds) {
+ private static Map<Integer, List<ExportRuleParamDto>> selectParamsByActiveRuleIds(DbSession dbSession, Collection<Integer> activeRuleIds) {
return executeLargeInputs(activeRuleIds, ids -> mapper(dbSession).selectParamsByActiveRuleIds(ids))
.stream()
.collect(Collectors.groupingBy(ExportRuleParamDto::getActiveRuleId));
diff --git a/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v00/CreateInitialSchema.java b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v00/CreateInitialSchema.java
index a999c797d2e..803104c4973 100644
--- a/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v00/CreateInitialSchema.java
+++ b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v00/CreateInitialSchema.java
@@ -25,12 +25,16 @@ import org.sonar.server.platform.db.migration.def.BigIntegerColumnDef;
import org.sonar.server.platform.db.migration.def.BooleanColumnDef;
import org.sonar.server.platform.db.migration.def.ColumnDef;
import org.sonar.server.platform.db.migration.def.IntegerColumnDef;
+import org.sonar.server.platform.db.migration.def.TimestampColumnDef;
import org.sonar.server.platform.db.migration.def.TinyIntColumnDef;
import org.sonar.server.platform.db.migration.def.VarcharColumnDef;
import org.sonar.server.platform.db.migration.sql.CreateIndexBuilder;
import org.sonar.server.platform.db.migration.sql.CreateTableBuilder;
import org.sonar.server.platform.db.migration.step.DdlChange;
+import static java.util.Arrays.stream;
+import static java.util.stream.Stream.concat;
+import static java.util.stream.Stream.of;
import static org.sonar.server.platform.db.migration.def.BigIntegerColumnDef.newBigIntegerColumnDefBuilder;
import static org.sonar.server.platform.db.migration.def.BlobColumnDef.newBlobColumnDefBuilder;
import static org.sonar.server.platform.db.migration.def.BooleanColumnDef.newBooleanColumnDefBuilder;
@@ -41,12 +45,38 @@ import static org.sonar.server.platform.db.migration.def.TimestampColumnDef.newT
import static org.sonar.server.platform.db.migration.def.TinyIntColumnDef.newTinyIntColumnDefBuilder;
import static org.sonar.server.platform.db.migration.def.VarcharColumnDef.MAX_SIZE;
import static org.sonar.server.platform.db.migration.def.VarcharColumnDef.UUID_SIZE;
-import static org.sonar.server.platform.db.migration.def.VarcharColumnDef.UUID_VARCHAR_SIZE;
import static org.sonar.server.platform.db.migration.def.VarcharColumnDef.newVarcharColumnDefBuilder;
import static org.sonar.server.platform.db.migration.sql.CreateTableBuilder.ColumnFlag.AUTO_INCREMENT;
public class CreateInitialSchema extends DdlChange {
+ /**
+ * Initially, UUID columns were created with size 50 when only 40 is needed. {@link VarcharColumnDef#UUID_SIZE}
+ * should be used instead of this constant whenever reducing the column size is possible.
+ */
+ private static final int OLD_UUID_VARCHAR_SIZE = 50;
+
+ // keep column name constants in alphabetic order
+ private static final String ANALYSIS_UUID_COL_NAME = "analysis_uuid";
+ private static final String COMPONENT_UUID_COL_NAME = "component_uuid";
+ private static final String CREATED_AT_COL_NAME = "created_at";
+ private static final String DESCRIPTION_COL_NAME = "description";
+ private static final String METRIC_ID_COL_NAME = "metric_id";
+ private static final String ORGANIZATION_UUID_COL_NAME = "organization_uuid";
+ private static final String PROJECT_UUID_COL_NAME = "project_uuid";
+ private static final String TASK_UUID_COL_NAME = "task_uuid";
+ private static final String UPDATED_AT_COL_NAME = "updated_at";
+ private static final String USER_UUID_COL_NAME = "user_uuid";
+
+ // usual technical columns
+ private static final IntegerColumnDef ID_COL = newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build();
+ private static final BigIntegerColumnDef TECHNICAL_CREATED_AT_COL = newBigIntegerColumnDefBuilder().setColumnName(CREATED_AT_COL_NAME).setIsNullable(false).build();
+ private static final BigIntegerColumnDef NULLABLE_TECHNICAL_CREATED_AT_COL = newBigIntegerColumnDefBuilder().setColumnName(CREATED_AT_COL_NAME).setIsNullable(true).build();
+ private static final BigIntegerColumnDef TECHNICAL_UPDATED_AT_COL = newBigIntegerColumnDefBuilder().setColumnName(UPDATED_AT_COL_NAME).setIsNullable(false).build();
+ private static final BigIntegerColumnDef NULLABLE_TECHNICAL_UPDATED_AT_COL = newBigIntegerColumnDefBuilder().setColumnName(UPDATED_AT_COL_NAME).setIsNullable(true).build();
+ private static final TimestampColumnDef DEPRECATED_TECHNICAL_CREATED_AT_COL = newTimestampColumnDefBuilder().setColumnName(CREATED_AT_COL_NAME).setIsNullable(true).build();
+ private static final TimestampColumnDef DEPRECATED_TECHNICAL_UPDATED_AT_COL = newTimestampColumnDefBuilder().setColumnName(UPDATED_AT_COL_NAME).setIsNullable(true).build();
+
public CreateInitialSchema(Database db) {
super(db);
}
@@ -123,7 +153,7 @@ public class CreateInitialSchema extends DdlChange {
IntegerColumnDef activeRuleIdColumnDef = newIntegerColumnDefBuilder().setColumnName("active_rule_id").setIsNullable(false).build();
context.execute(
newTableBuilder(tableName)
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
.addColumn(activeRuleIdColumnDef)
.addColumn(newIntegerColumnDefBuilder().setColumnName("rules_parameter_id").setIsNullable(false).build())
.addColumn(newLenientVarcharBuilder("value").setLimit(MAX_SIZE).build())
@@ -137,13 +167,13 @@ public class CreateInitialSchema extends DdlChange {
IntegerColumnDef ruleIdCol = newIntegerColumnDefBuilder().setColumnName("rule_id").setIsNullable(false).build();
context.execute(
newTableBuilder("active_rules")
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
.addColumn(profileIdCol)
.addColumn(ruleIdCol)
.addColumn(newIntegerColumnDefBuilder().setColumnName("failure_level").setIsNullable(false).build())
.addColumn(newLenientVarcharBuilder("inheritance").setLimit(10).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").build())
+ .addColumn(NULLABLE_TECHNICAL_CREATED_AT_COL)
+ .addColumn(NULLABLE_TECHNICAL_UPDATED_AT_COL)
.build());
addIndex(context, "active_rules", "uniq_profile_rule_ids", true, profileIdCol, ruleIdCol);
}
@@ -161,8 +191,8 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(installCol)
.addColumn(newBooleanColumnDefBuilder().setColumnName("is_owner_user").setIsNullable(false).build())
.addColumn(userExternalIdCol)
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
+ .addColumn(TECHNICAL_UPDATED_AT_COL)
.build());
addIndex(context, tableName, "alm_app_installs_owner", true, almIdCol, ownerCol);
addIndex(context, tableName, "alm_app_installs_install", true, almIdCol, installCol);
@@ -183,7 +213,7 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(newVarcharColumnBuilder("text_value").setIsNullable(true).setLimit(MAX_SIZE).build())
.addColumn(newClobColumnDefBuilder().setColumnName("clob_value").setIsNullable(true).build())
.addColumn(newBooleanColumnDefBuilder().setColumnName("is_empty").setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
.build());
addIndex(context, tableName, "ix_snapshot_uuid", false, snapshotUuidColumn);
}
@@ -192,7 +222,7 @@ public class CreateInitialSchema extends DdlChange {
String tableName = "ce_activity";
VarcharColumnDef uuidCol = newLenientVarcharBuilder("uuid").setLimit(UUID_SIZE).setIsNullable(false).build();
VarcharColumnDef mainComponentUuidCol = newVarcharColumnBuilder("main_component_uuid").setLimit(UUID_SIZE).setIsNullable(true).build();
- VarcharColumnDef componentUuidCol = newVarcharColumnBuilder("component_uuid").setLimit(UUID_SIZE).setIsNullable(true).build();
+ VarcharColumnDef componentUuidCol = newVarcharColumnBuilder(COMPONENT_UUID_COL_NAME).setLimit(UUID_SIZE).setIsNullable(true).build();
VarcharColumnDef statusCol = newLenientVarcharBuilder("status").setLimit(15).setIsNullable(false).build();
BooleanColumnDef isLastCol = newBooleanColumnDefBuilder().setColumnName("is_last").setIsNullable(false).build();
VarcharColumnDef isLastKeyCol = newLenientVarcharBuilder("is_last_key").setLimit(55).setIsNullable(false).build();
@@ -200,7 +230,7 @@ public class CreateInitialSchema extends DdlChange {
VarcharColumnDef mainIsLastKeyCol = newLenientVarcharBuilder("main_is_last_key").setLimit(55).setIsNullable(false).build();
context.execute(
newTableBuilder(tableName)
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
.addColumn(uuidCol)
.addColumn(newLenientVarcharBuilder("task_type").setLimit(15).setIsNullable(false).build())
.addColumn(mainComponentUuidCol)
@@ -216,13 +246,13 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(newBigIntegerColumnDefBuilder().setColumnName("executed_at").setIsNullable(true).build())
.addColumn(newIntegerColumnDefBuilder().setColumnName("execution_count").setIsNullable(false).build())
.addColumn(newBigIntegerColumnDefBuilder().setColumnName("execution_time_ms").setIsNullable(true).build())
- .addColumn(newLenientVarcharBuilder("analysis_uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(true).build())
+ .addColumn(newLenientVarcharBuilder(ANALYSIS_UUID_COL_NAME).setLimit(OLD_UUID_VARCHAR_SIZE).setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("error_message").setLimit(1_000).setIsNullable(true).build())
.addColumn(newClobColumnDefBuilder().setColumnName("error_stacktrace").setIsNullable(true).build())
.addColumn(newVarcharColumnBuilder("error_type").setLimit(20).setIsNullable(true).build())
.addColumn(newVarcharColumnBuilder("worker_uuid").setLimit(UUID_SIZE).setIsNullable(true).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
+ .addColumn(TECHNICAL_UPDATED_AT_COL)
.build());
addIndex(context, tableName, "ce_activity_component", false, componentUuidCol);
addIndex(context, tableName, "ce_activity_islast", false, isLastCol, statusCol);
@@ -237,10 +267,10 @@ public class CreateInitialSchema extends DdlChange {
String tableName = "ce_queue";
VarcharColumnDef uuidCol = newLenientVarcharBuilder("uuid").setLimit(UUID_SIZE).setIsNullable(false).build();
VarcharColumnDef mainComponentUuidCol = newLenientVarcharBuilder("main_component_uuid").setLimit(UUID_SIZE).setIsNullable(true).build();
- VarcharColumnDef componentUuidCol = newLenientVarcharBuilder("component_uuid").setLimit(UUID_SIZE).setIsNullable(true).build();
+ VarcharColumnDef componentUuidCol = newLenientVarcharBuilder(COMPONENT_UUID_COL_NAME).setLimit(UUID_SIZE).setIsNullable(true).build();
context.execute(
newTableBuilder(tableName)
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
.addColumn(uuidCol)
.addColumn(newLenientVarcharBuilder("task_type").setLimit(15).setIsNullable(false).build())
.addColumn(mainComponentUuidCol)
@@ -250,8 +280,8 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(newBigIntegerColumnDefBuilder().setColumnName("started_at").setIsNullable(true).build())
.addColumn(newVarcharColumnBuilder("worker_uuid").setLimit(UUID_SIZE).setIsNullable(true).build())
.addColumn(newIntegerColumnDefBuilder().setColumnName("execution_count").setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
+ .addColumn(TECHNICAL_UPDATED_AT_COL)
.build());
addIndex(context, tableName, "ce_queue_main_component", false, mainComponentUuidCol);
addIndex(context, tableName, "ce_queue_component", false, componentUuidCol);
@@ -261,16 +291,16 @@ public class CreateInitialSchema extends DdlChange {
private void createCeScannerContext(Context context) {
context.execute(
newTableBuilder("ce_scanner_context")
- .addPkColumn(newLenientVarcharBuilder("task_uuid").setLimit(UUID_SIZE).setIsNullable(false).build())
+ .addPkColumn(newLenientVarcharBuilder(TASK_UUID_COL_NAME).setLimit(UUID_SIZE).setIsNullable(false).build())
.addColumn(newBlobColumnDefBuilder().setColumnName("context_data").setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
+ .addColumn(TECHNICAL_UPDATED_AT_COL)
.build());
}
private void createCeTaskCharacteristics(Context context) {
String tableName = "ce_task_characteristics";
- VarcharColumnDef ceTaskUuidColumn = newLenientVarcharBuilder("task_uuid")
+ VarcharColumnDef ceTaskUuidColumn = newLenientVarcharBuilder(TASK_UUID_COL_NAME)
.setLimit(UUID_SIZE)
.setIsNullable(false)
.build();
@@ -288,21 +318,21 @@ public class CreateInitialSchema extends DdlChange {
private void createCeTaskInput(Context context) {
context.execute(
newTableBuilder("ce_task_input")
- .addPkColumn(newLenientVarcharBuilder("task_uuid").setLimit(UUID_SIZE).setIsNullable(false).build())
+ .addPkColumn(newLenientVarcharBuilder(TASK_UUID_COL_NAME).setLimit(UUID_SIZE).setIsNullable(false).build())
.addColumn(newBlobColumnDefBuilder().setColumnName("input_data").setIsNullable(true).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
+ .addColumn(TECHNICAL_UPDATED_AT_COL)
.build());
}
private void createCeTaskMessage(Context context) {
String tableName = "ce_task_message";
- VarcharColumnDef taskUuidCol = newVarcharColumnBuilder("task_uuid").setIsNullable(false).setLimit(UUID_SIZE).build();
+ VarcharColumnDef taskUuidCol = newVarcharColumnBuilder(TASK_UUID_COL_NAME).setIsNullable(false).setLimit(UUID_SIZE).build();
context.execute(newTableBuilder(tableName)
.addPkColumn(newVarcharColumnBuilder("uuid").setIsNullable(false).setLimit(UUID_SIZE).build())
.addColumn(taskUuidCol)
.addColumn(newVarcharColumnBuilder("message").setIsNullable(false).setLimit(MAX_SIZE).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
.build());
addIndex(context, tableName, tableName + "_task", false, taskUuidCol);
}
@@ -316,11 +346,11 @@ public class CreateInitialSchema extends DdlChange {
context.execute(
newTableBuilder(tableName)
- .addPkColumn(newLenientVarcharBuilder("organization_uuid").setLimit(UUID_SIZE).setIsNullable(false).build())
+ .addPkColumn(newLenientVarcharBuilder(ORGANIZATION_UUID_COL_NAME).setLimit(UUID_SIZE).setIsNullable(false).build())
.addPkColumn(newLenientVarcharBuilder("language").setLimit(20).setIsNullable(false).build())
.addColumn(profileUuidColumn)
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
+ .addColumn(TECHNICAL_UPDATED_AT_COL)
.build());
addIndex(context, tableName, "uniq_default_qprofiles_uuid", true, profileUuidColumn);
}
@@ -335,7 +365,7 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(ruleIdCol)
.addColumn(oldRepositoryKeyCol)
.addColumn(oldRuleKeyCol)
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
.build());
addIndex(context, tableName, "uniq_deprecated_rule_keys", true, oldRepositoryKeyCol, oldRuleKeyCol);
addIndex(context, tableName, "rule_id_deprecated_rule_keys", true, ruleIdCol);
@@ -344,8 +374,8 @@ public class CreateInitialSchema extends DdlChange {
private void createDuplicationsIndex(Context context) {
String tableName = "duplications_index";
VarcharColumnDef hashCol = newLenientVarcharBuilder("hash").setLimit(50).setIsNullable(false).build();
- VarcharColumnDef analysisUuidCol = newLenientVarcharBuilder("analysis_uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(false).build();
- VarcharColumnDef componentUuidCol = newLenientVarcharBuilder("component_uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(false).build();
+ VarcharColumnDef analysisUuidCol = newLenientVarcharBuilder(ANALYSIS_UUID_COL_NAME).setLimit(OLD_UUID_VARCHAR_SIZE).setIsNullable(false).build();
+ VarcharColumnDef componentUuidCol = newLenientVarcharBuilder(COMPONENT_UUID_COL_NAME).setLimit(OLD_UUID_VARCHAR_SIZE).setIsNullable(false).build();
context.execute(
newTableBuilder(tableName)
.addPkColumn(newBigIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
@@ -363,7 +393,7 @@ public class CreateInitialSchema extends DdlChange {
private void createEsQueue(Context context) {
String tableName = "es_queue";
- BigIntegerColumnDef createdAtCol = newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build();
+ BigIntegerColumnDef createdAtCol = TECHNICAL_CREATED_AT_COL;
context.execute(
newTableBuilder(tableName)
.addPkColumn(newVarcharColumnBuilder("uuid").setIsNullable(false).setLimit(UUID_SIZE).build())
@@ -379,10 +409,10 @@ public class CreateInitialSchema extends DdlChange {
private void createEventComponentChanges(Context context) {
String tableName = "event_component_changes";
VarcharColumnDef eventUuidCol = newVarcharColumnBuilder("event_uuid").setIsNullable(false).setLimit(UUID_SIZE).build();
- VarcharColumnDef eventComponentUuidCol = newVarcharColumnBuilder("event_component_uuid").setIsNullable(false).setLimit(UUID_VARCHAR_SIZE).build();
- VarcharColumnDef eventAnalysisUuidCol = newVarcharColumnBuilder("event_analysis_uuid").setIsNullable(false).setLimit(UUID_VARCHAR_SIZE).build();
+ VarcharColumnDef eventComponentUuidCol = newVarcharColumnBuilder("event_component_uuid").setIsNullable(false).setLimit(OLD_UUID_VARCHAR_SIZE).build();
+ VarcharColumnDef eventAnalysisUuidCol = newVarcharColumnBuilder("event_analysis_uuid").setIsNullable(false).setLimit(OLD_UUID_VARCHAR_SIZE).build();
VarcharColumnDef changeCategoryCol = newVarcharColumnBuilder("change_category").setIsNullable(false).setLimit(12).build();
- VarcharColumnDef componentUuidCol = newVarcharColumnBuilder("component_uuid").setIsNullable(false).setLimit(UUID_VARCHAR_SIZE).build();
+ VarcharColumnDef componentUuidCol = newVarcharColumnBuilder(COMPONENT_UUID_COL_NAME).setIsNullable(false).setLimit(OLD_UUID_VARCHAR_SIZE).build();
context.execute(newTableBuilder(tableName)
.addPkColumn(newVarcharColumnBuilder("uuid").setIsNullable(false).setLimit(UUID_SIZE).build())
.addColumn(eventUuidCol)
@@ -393,7 +423,7 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(newVarcharColumnBuilder("component_key").setIsNullable(false).setLimit(400).build())
.addColumn(newVarcharColumnBuilder("component_name").setIsNullable(false).setLimit(2000).build())
.addColumn(newVarcharColumnBuilder("component_branch_key").setIsNullable(true).setLimit(255).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
.build());
addIndex(context, tableName, tableName + "_unique", true, eventUuidCol, changeCategoryCol, componentUuidCol);
addIndex(context, tableName, "event_cpnt_changes_cpnt", false, eventComponentUuidCol);
@@ -403,19 +433,19 @@ public class CreateInitialSchema extends DdlChange {
private void createEvents(Context context) {
String tableName = "events";
VarcharColumnDef uuidCol = newVarcharColumnBuilder("uuid").setLimit(UUID_SIZE).setIsNullable(false).build();
- VarcharColumnDef analysisUuidCol = newLenientVarcharBuilder("analysis_uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(false).build();
- VarcharColumnDef componentUuid = newLenientVarcharBuilder("component_uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(false).build();
+ VarcharColumnDef analysisUuidCol = newLenientVarcharBuilder(ANALYSIS_UUID_COL_NAME).setLimit(OLD_UUID_VARCHAR_SIZE).setIsNullable(false).build();
+ VarcharColumnDef componentUuid = newLenientVarcharBuilder(COMPONENT_UUID_COL_NAME).setLimit(OLD_UUID_VARCHAR_SIZE).setIsNullable(false).build();
context.execute(
newTableBuilder(tableName)
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
.addColumn(uuidCol)
.addColumn(analysisUuidCol)
.addColumn(newLenientVarcharBuilder("name").setLimit(400).setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("category").setLimit(50).build())
- .addColumn(newLenientVarcharBuilder("description").setLimit(MAX_SIZE).build())
+ .addColumn(newLenientVarcharBuilder(DESCRIPTION_COL_NAME).setLimit(MAX_SIZE).build())
.addColumn(newLenientVarcharBuilder("event_data").setLimit(MAX_SIZE).build())
.addColumn(newBigIntegerColumnDefBuilder().setColumnName("event_date").setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
.addColumn(componentUuid)
.build());
addIndex(context, tableName, "events_uuid", true, uuidCol);
@@ -425,12 +455,12 @@ public class CreateInitialSchema extends DdlChange {
private void createFileSources(Context context) {
String tableName = "file_sources";
- VarcharColumnDef projectUuidCol = newLenientVarcharBuilder("project_uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(false).build();
- BigIntegerColumnDef updatedAtCol = newBigIntegerColumnDefBuilder().setColumnName("updated_at").setIsNullable(false).build();
- VarcharColumnDef fileUuidCol = newLenientVarcharBuilder("file_uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(false).build();
+ VarcharColumnDef projectUuidCol = newLenientVarcharBuilder(PROJECT_UUID_COL_NAME).setLimit(OLD_UUID_VARCHAR_SIZE).setIsNullable(false).build();
+ BigIntegerColumnDef updatedAtCol = TECHNICAL_UPDATED_AT_COL;
+ VarcharColumnDef fileUuidCol = newLenientVarcharBuilder("file_uuid").setLimit(OLD_UUID_VARCHAR_SIZE).setIsNullable(false).build();
context.execute(
newTableBuilder(tableName)
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
.addColumn(projectUuidCol)
.addColumn(fileUuidCol)
.addColumn(newClobColumnDefBuilder().setColumnName("line_hashes").setIsNullable(true).build())
@@ -440,7 +470,7 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(newLenientVarcharBuilder("revision").setLimit(100).setIsNullable(true).build())
.addColumn(newIntegerColumnDefBuilder().setColumnName("line_count").setIsNullable(false).build())
.addColumn(newBlobColumnDefBuilder().setColumnName("binary_data").setIsNullable(true).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
.addColumn(updatedAtCol)
.build());
addIndex(context, tableName, "file_sources_file_uuid", true, fileUuidCol);
@@ -453,10 +483,10 @@ public class CreateInitialSchema extends DdlChange {
IntegerColumnDef groupIdCol = newIntegerColumnDefBuilder().setColumnName("group_id").setIsNullable(true).build();
IntegerColumnDef resourceIdCol = newIntegerColumnDefBuilder().setColumnName("resource_id").setIsNullable(true).build();
VarcharColumnDef roleCol = newLenientVarcharBuilder("role").setLimit(64).setIsNullable(false).build();
- VarcharColumnDef organizationUuidCol = newLenientVarcharBuilder("organization_uuid").setIsNullable(false).setLimit(UUID_SIZE).build();
+ VarcharColumnDef organizationUuidCol = newLenientVarcharBuilder(ORGANIZATION_UUID_COL_NAME).setIsNullable(false).setLimit(UUID_SIZE).build();
context.execute(
newTableBuilder(tableName)
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
.addColumn(organizationUuidCol)
.addColumn(groupIdCol)
.addColumn(resourceIdCol)
@@ -469,12 +499,12 @@ public class CreateInitialSchema extends DdlChange {
private void createGroups(Context context) {
context.execute(
newTableBuilder("groups")
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
- .addColumn(newLenientVarcharBuilder("organization_uuid").setIsNullable(false).setLimit(UUID_SIZE).build())
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
+ .addColumn(newLenientVarcharBuilder(ORGANIZATION_UUID_COL_NAME).setIsNullable(false).setLimit(UUID_SIZE).build())
.addColumn(newLenientVarcharBuilder("name").setLimit(500).setIsNullable(true).build())
- .addColumn(newLenientVarcharBuilder("description").setLimit(200).setIsNullable(true).build())
- .addColumn(newTimestampColumnDefBuilder().setColumnName("created_at").setIsNullable(true).build())
- .addColumn(newTimestampColumnDefBuilder().setColumnName("updated_at").setIsNullable(true).build())
+ .addColumn(newLenientVarcharBuilder(DESCRIPTION_COL_NAME).setLimit(200).setIsNullable(true).build())
+ .addColumn(DEPRECATED_TECHNICAL_CREATED_AT_COL)
+ .addColumn(DEPRECATED_TECHNICAL_UPDATED_AT_COL)
.build());
}
@@ -494,15 +524,15 @@ public class CreateInitialSchema extends DdlChange {
private void createInternalComponentProps(Context context) {
String tableName = "internal_component_props";
- VarcharColumnDef componentUuidCol = newVarcharColumnBuilder("component_uuid").setIsNullable(false).setLimit(UUID_VARCHAR_SIZE).build();
+ VarcharColumnDef componentUuidCol = newVarcharColumnBuilder(COMPONENT_UUID_COL_NAME).setIsNullable(false).setLimit(OLD_UUID_VARCHAR_SIZE).build();
VarcharColumnDef keeCol = newVarcharColumnBuilder("kee").setIsNullable(false).setLimit(512).build();
context.execute(newTableBuilder(tableName)
.addPkColumn(newVarcharColumnBuilder("uuid").setIsNullable(false).setLimit(UUID_SIZE).build())
.addColumn(componentUuidCol)
.addColumn(keeCol)
.addColumn(newVarcharColumnBuilder("value").setIsNullable(true).setLimit(MAX_SIZE).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_UPDATED_AT_COL)
+ .addColumn(TECHNICAL_CREATED_AT_COL)
.build());
addIndex(context, tableName, "unique_component_uuid_kee", true, componentUuidCol, keeCol);
}
@@ -514,7 +544,7 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(newBooleanColumnDefBuilder().setColumnName("is_empty").setIsNullable(false).build())
.addColumn(newVarcharColumnDefBuilder().setColumnName("text_value").setLimit(MAX_SIZE).setIgnoreOracleUnit(true).build())
.addColumn(newClobColumnDefBuilder().setColumnName("clob_value").setIsNullable(true).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
.build());
}
@@ -530,8 +560,8 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(newLenientVarcharBuilder("user_login").setLimit(255).build())
.addColumn(newLenientVarcharBuilder("change_type").setLimit(20).build())
.addColumn(newClobColumnDefBuilder().setColumnName("change_data").build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").build())
+ .addColumn(NULLABLE_TECHNICAL_CREATED_AT_COL)
+ .addColumn(NULLABLE_TECHNICAL_UPDATED_AT_COL)
.addColumn(newBigIntegerColumnDefBuilder().setColumnName("issue_change_creation_date").build())
.build());
addIndex(context, tableName, "issue_changes_issue_key", false, issueKeyCol);
@@ -540,13 +570,13 @@ public class CreateInitialSchema extends DdlChange {
private void createIssues(Context context) {
VarcharColumnDef assigneeCol = newLenientVarcharBuilder("assignee").setLimit(255).build();
- VarcharColumnDef componentUuidCol = newLenientVarcharBuilder("component_uuid").setLimit(50).build();
+ VarcharColumnDef componentUuidCol = newLenientVarcharBuilder(COMPONENT_UUID_COL_NAME).setLimit(50).build();
BigIntegerColumnDef issueCreationDateCol = newBigIntegerColumnDefBuilder().setColumnName("issue_creation_date").build();
VarcharColumnDef keeCol = newLenientVarcharBuilder("kee").setLimit(50).setIsNullable(false).build();
- VarcharColumnDef projectUuidCol = newLenientVarcharBuilder("project_uuid").setLimit(50).build();
+ VarcharColumnDef projectUuidCol = newLenientVarcharBuilder(PROJECT_UUID_COL_NAME).setLimit(50).build();
VarcharColumnDef resolutionCol = newLenientVarcharBuilder("resolution").setLimit(20).build();
IntegerColumnDef ruleIdCol = newIntegerColumnDefBuilder().setColumnName("rule_id").build();
- BigIntegerColumnDef updatedAtCol = newBigIntegerColumnDefBuilder().setColumnName("updated_at").build();
+ BigIntegerColumnDef updatedAtCol = NULLABLE_TECHNICAL_UPDATED_AT_COL;
context.execute(
newTableBuilder("issues")
.addPkColumn(newBigIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
@@ -567,7 +597,7 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(newLenientVarcharBuilder("action_plan_key").setLimit(50).build())
.addColumn(newLenientVarcharBuilder("issue_attributes").setLimit(MAX_SIZE).build())
.addColumn(newIntegerColumnDefBuilder().setColumnName("effort").build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").build())
+ .addColumn(NULLABLE_TECHNICAL_CREATED_AT_COL)
.addColumn(updatedAtCol)
.addColumn(issueCreationDateCol)
.addColumn(newBigIntegerColumnDefBuilder().setColumnName("issue_update_date").build())
@@ -591,9 +621,9 @@ public class CreateInitialSchema extends DdlChange {
private void createLiveMeasures(Context context) {
String tableName = "live_measures";
- VarcharColumnDef projectUuidCol = newVarcharColumnBuilder("project_uuid").setIsNullable(false).setLimit(UUID_VARCHAR_SIZE).build();
- VarcharColumnDef componentUuidCol = newVarcharColumnBuilder("component_uuid").setIsNullable(false).setLimit(UUID_VARCHAR_SIZE).build();
- IntegerColumnDef metricIdCol = newIntegerColumnDefBuilder().setColumnName("metric_id").setIsNullable(false).build();
+ VarcharColumnDef projectUuidCol = newVarcharColumnBuilder(PROJECT_UUID_COL_NAME).setIsNullable(false).setLimit(OLD_UUID_VARCHAR_SIZE).build();
+ VarcharColumnDef componentUuidCol = newVarcharColumnBuilder(COMPONENT_UUID_COL_NAME).setIsNullable(false).setLimit(OLD_UUID_VARCHAR_SIZE).build();
+ IntegerColumnDef metricIdCol = newIntegerColumnDefBuilder().setColumnName(METRIC_ID_COL_NAME).setIsNullable(false).build();
context.execute(newTableBuilder(tableName)
.addPkColumn(newVarcharColumnBuilder("uuid").setIsNullable(false).setLimit(UUID_SIZE).build())
.addColumn(projectUuidCol)
@@ -604,8 +634,8 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(newDecimalColumnDefBuilder().setColumnName("variation").setPrecision(38).setScale(20).build())
.addColumn(newBlobColumnDefBuilder().setColumnName("measure_data").setIsNullable(true).build())
.addColumn(newVarcharColumnBuilder("update_marker").setIsNullable(true).setLimit(UUID_SIZE).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
+ .addColumn(TECHNICAL_UPDATED_AT_COL)
.build());
addIndex(context, tableName, "live_measures_project", false, projectUuidCol);
addIndex(context, tableName, "live_measures_component", true, componentUuidCol, metricIdCol);
@@ -613,17 +643,17 @@ public class CreateInitialSchema extends DdlChange {
private void createManualMeasures(Context context) {
String tableName = "manual_measures";
- VarcharColumnDef componentUuidCol = newLenientVarcharBuilder("component_uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(false).build();
+ VarcharColumnDef componentUuidCol = newLenientVarcharBuilder(COMPONENT_UUID_COL_NAME).setLimit(OLD_UUID_VARCHAR_SIZE).setIsNullable(false).build();
context.execute(
newTableBuilder(tableName)
.addPkColumn(newBigIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
- .addColumn(newIntegerColumnDefBuilder().setColumnName("metric_id").setIsNullable(false).build())
+ .addColumn(newIntegerColumnDefBuilder().setColumnName(METRIC_ID_COL_NAME).setIsNullable(false).build())
.addColumn(newDecimalColumnDefBuilder().setColumnName("value").setPrecision(38).setScale(20).build())
.addColumn(newLenientVarcharBuilder("text_value").setLimit(MAX_SIZE).build())
- .addColumn(newLenientVarcharBuilder("user_uuid").setLimit(255).build())
- .addColumn(newLenientVarcharBuilder("description").setLimit(MAX_SIZE).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").build())
+ .addColumn(newLenientVarcharBuilder(USER_UUID_COL_NAME).setLimit(255).build())
+ .addColumn(newLenientVarcharBuilder(DESCRIPTION_COL_NAME).setLimit(MAX_SIZE).build())
+ .addColumn(NULLABLE_TECHNICAL_CREATED_AT_COL)
+ .addColumn(NULLABLE_TECHNICAL_UPDATED_AT_COL)
.addColumn(componentUuidCol)
.build());
addIndex(context, tableName, "manual_measures_component_uuid", false, componentUuidCol);
@@ -634,9 +664,9 @@ public class CreateInitialSchema extends DdlChange {
VarcharColumnDef nameCol = newLenientVarcharBuilder("name").setLimit(64).setIsNullable(false).build();
context.execute(
newTableBuilder(tableName)
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
.addColumn(nameCol)
- .addColumn(newLenientVarcharBuilder("description").setLimit(255).build())
+ .addColumn(newLenientVarcharBuilder(DESCRIPTION_COL_NAME).setLimit(255).build())
.addColumn(newIntegerColumnDefBuilder().setColumnName("direction").setIsNullable(false).setDefaultValue(0).build())
.addColumn(newLenientVarcharBuilder("domain").setLimit(64).build())
.addColumn(newLenientVarcharBuilder("short_name").setLimit(64).build())
@@ -657,7 +687,7 @@ public class CreateInitialSchema extends DdlChange {
private void createNotifications(Context context) {
context.execute(
newTableBuilder("notifications")
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
.addColumn(newBlobColumnDefBuilder().setColumnName("data").build())
.build());
}
@@ -665,7 +695,7 @@ public class CreateInitialSchema extends DdlChange {
private void createOrgQProfiles(Context context) {
String tableName = "org_qprofiles";
int profileUuidSize = 255;
- VarcharColumnDef organizationCol = newLenientVarcharBuilder("organization_uuid").setLimit(UUID_SIZE).setIsNullable(false).build();
+ VarcharColumnDef organizationCol = newLenientVarcharBuilder(ORGANIZATION_UUID_COL_NAME).setLimit(UUID_SIZE).setIsNullable(false).build();
VarcharColumnDef rulesProfileUuidCol = newLenientVarcharBuilder("rules_profile_uuid").setLimit(profileUuidSize).setIsNullable(false).build();
VarcharColumnDef parentUuidCol = newLenientVarcharBuilder("parent_uuid").setLimit(profileUuidSize).setIsNullable(true).build();
context.execute(
@@ -676,8 +706,8 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(parentUuidCol)
.addColumn(newBigIntegerColumnDefBuilder().setColumnName("last_used").setIsNullable(true).build())
.addColumn(newBigIntegerColumnDefBuilder().setColumnName("user_updated_at").setIsNullable(true).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
+ .addColumn(TECHNICAL_UPDATED_AT_COL)
.build());
addIndex(context, tableName, "qprofiles_org_uuid", false, organizationCol);
addIndex(context, tableName, "qprofiles_rp_uuid", false, rulesProfileUuidCol);
@@ -686,7 +716,7 @@ public class CreateInitialSchema extends DdlChange {
private void createOrgQualityGates(Context context) {
String tableName = "org_quality_gates";
- VarcharColumnDef organizationUuidCol = newVarcharColumnBuilder("organization_uuid").setIsNullable(false).setLimit(UUID_SIZE).build();
+ VarcharColumnDef organizationUuidCol = newVarcharColumnBuilder(ORGANIZATION_UUID_COL_NAME).setIsNullable(false).setLimit(UUID_SIZE).build();
VarcharColumnDef qualityGateUuidCol = newVarcharColumnBuilder("quality_gate_uuid").setIsNullable(false).setLimit(UUID_SIZE).build();
context.execute(newTableBuilder(tableName)
.addPkColumn(newVarcharColumnBuilder("uuid").setIsNullable(false).setLimit(UUID_SIZE).build())
@@ -698,7 +728,7 @@ public class CreateInitialSchema extends DdlChange {
private void createOrganizationAlmBindings(Context context) {
String tableName = "organization_alm_bindings";
- VarcharColumnDef organizationUuidCol = newVarcharColumnBuilder("organization_uuid").setIsNullable(false).setLimit(UUID_SIZE).build();
+ VarcharColumnDef organizationUuidCol = newVarcharColumnBuilder(ORGANIZATION_UUID_COL_NAME).setIsNullable(false).setLimit(UUID_SIZE).build();
VarcharColumnDef almAppInstallUuidCol = newVarcharColumnBuilder("alm_app_install_uuid").setIsNullable(false).setLimit(UUID_SIZE).build();
context.execute(newTableBuilder(tableName)
.addPkColumn(newVarcharColumnBuilder("uuid").setIsNullable(false).setLimit(UUID_SIZE).build())
@@ -706,9 +736,9 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(almAppInstallUuidCol)
.addColumn(newVarcharColumnBuilder("alm_id").setIsNullable(false).setLimit(UUID_SIZE).build())
.addColumn(newVarcharColumnBuilder("url").setIsNullable(false).setLimit(2000).build())
- .addColumn(newVarcharColumnBuilder("user_uuid").setIsNullable(false).setLimit(255).build())
+ .addColumn(newVarcharColumnBuilder(USER_UUID_COL_NAME).setIsNullable(false).setLimit(255).build())
.addColumn(newBooleanColumnDefBuilder().setColumnName("members_sync_enabled").setIsNullable(true).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
.build());
addIndex(context, tableName, "org_alm_bindings_org", true, organizationUuidCol);
addIndex(context, tableName, "org_alm_bindings_install", true, almAppInstallUuidCol);
@@ -719,7 +749,7 @@ public class CreateInitialSchema extends DdlChange {
IntegerColumnDef userIdCol = newIntegerColumnDefBuilder().setColumnName("user_id").setIsNullable(false).build();
context.execute(
newTableBuilder(tableName)
- .addPkColumn(newVarcharColumnBuilder("organization_uuid").setLimit(UUID_SIZE).setIsNullable(false).build())
+ .addPkColumn(newVarcharColumnBuilder(ORGANIZATION_UUID_COL_NAME).setLimit(UUID_SIZE).setIsNullable(false).build())
.addPkColumn(userIdCol)
.build());
addIndex(context, tableName, "ix_org_members_on_user_id", false, userIdCol);
@@ -733,7 +763,7 @@ public class CreateInitialSchema extends DdlChange {
.addPkColumn(newLenientVarcharBuilder("uuid").setLimit(UUID_SIZE).setIsNullable(false).build())
.addColumn(keeColumn)
.addColumn(newLenientVarcharBuilder("name").setLimit(255).setIsNullable(false).build())
- .addColumn(newLenientVarcharBuilder("description").setLimit(256).setIsNullable(true).build())
+ .addColumn(newLenientVarcharBuilder(DESCRIPTION_COL_NAME).setLimit(256).setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("url").setLimit(256).setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("avatar_url").setLimit(256).setIsNullable(true).build())
.addColumn(newBooleanColumnDefBuilder().setColumnName("guarded").setIsNullable(false).build())
@@ -744,8 +774,8 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(newVarcharColumnBuilder("default_perm_template_port").setLimit(UUID_SIZE).setIsNullable(true).build())
.addColumn(newBooleanColumnDefBuilder().setColumnName("new_project_private").setIsNullable(false).build())
.addColumn(newVarcharColumnBuilder("subscription").setLimit(UUID_SIZE).setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
+ .addColumn(TECHNICAL_UPDATED_AT_COL)
.build());
addIndex(context, tableName, "organization_key", true, keeColumn);
}
@@ -753,24 +783,24 @@ public class CreateInitialSchema extends DdlChange {
private void createPermTemplatesGroups(Context context) {
context.execute(
newTableBuilder("perm_templates_groups")
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
.addColumn(newIntegerColumnDefBuilder().setColumnName("group_id").build())
.addColumn(newIntegerColumnDefBuilder().setColumnName("template_id").setIsNullable(false).build())
.addColumn(newLenientVarcharBuilder("permission_reference").setLimit(64).setIsNullable(false).build())
- .addColumn(newTimestampColumnDefBuilder().setColumnName("created_at").build())
- .addColumn(newTimestampColumnDefBuilder().setColumnName("updated_at").build())
+ .addColumn(DEPRECATED_TECHNICAL_CREATED_AT_COL)
+ .addColumn(DEPRECATED_TECHNICAL_UPDATED_AT_COL)
.build());
}
private void createPermTemplatesUsers(Context context) {
context.execute(
newTableBuilder("perm_templates_users")
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
.addColumn(newIntegerColumnDefBuilder().setColumnName("user_id").setIsNullable(false).build())
.addColumn(newIntegerColumnDefBuilder().setColumnName("template_id").setIsNullable(false).build())
.addColumn(newLenientVarcharBuilder("permission_reference").setLimit(64).setIsNullable(false).build())
- .addColumn(newTimestampColumnDefBuilder().setColumnName("created_at").build())
- .addColumn(newTimestampColumnDefBuilder().setColumnName("updated_at").build())
+ .addColumn(DEPRECATED_TECHNICAL_CREATED_AT_COL)
+ .addColumn(DEPRECATED_TECHNICAL_UPDATED_AT_COL)
.build());
}
@@ -780,12 +810,12 @@ public class CreateInitialSchema extends DdlChange {
VarcharColumnDef permissionKeyColumn = newLenientVarcharBuilder("permission_key").setLimit(64).setIsNullable(false).build();
context.execute(
newTableBuilder(tableName)
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
.addColumn(templateIdColumn)
.addColumn(permissionKeyColumn)
.addColumn(newBooleanColumnDefBuilder().setColumnName("with_project_creator").setIsNullable(false).setDefaultValue(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
+ .addColumn(TECHNICAL_UPDATED_AT_COL)
.build());
addIndex(context, tableName, "uniq_perm_tpl_charac", true, templateIdColumn, permissionKeyColumn);
@@ -794,13 +824,13 @@ public class CreateInitialSchema extends DdlChange {
private void createPermissionTemplates(Context context) {
context.execute(
newTableBuilder("permission_templates")
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
- .addColumn(newLenientVarcharBuilder("organization_uuid").setIsNullable(false).setLimit(40).build())
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
+ .addColumn(newLenientVarcharBuilder(ORGANIZATION_UUID_COL_NAME).setIsNullable(false).setLimit(UUID_SIZE).build())
.addColumn(newLenientVarcharBuilder("name").setLimit(100).setIsNullable(false).build())
.addColumn(newLenientVarcharBuilder("kee").setLimit(100).setIsNullable(false).build())
- .addColumn(newLenientVarcharBuilder("description").setLimit(MAX_SIZE).build())
- .addColumn(newTimestampColumnDefBuilder().setColumnName("created_at").build())
- .addColumn(newTimestampColumnDefBuilder().setColumnName("updated_at").build())
+ .addColumn(newLenientVarcharBuilder(DESCRIPTION_COL_NAME).setLimit(MAX_SIZE).build())
+ .addColumn(DEPRECATED_TECHNICAL_CREATED_AT_COL)
+ .addColumn(DEPRECATED_TECHNICAL_UPDATED_AT_COL)
.addColumn(newLenientVarcharBuilder("key_pattern").setLimit(500).build())
.build());
}
@@ -815,8 +845,8 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(keyColumn)
.addColumn(newVarcharColumnBuilder("base_plugin_key").setLimit(pluginKeyMaxSize).setIsNullable(true).build())
.addColumn(newVarcharColumnBuilder("file_hash").setLimit(200).setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
+ .addColumn(TECHNICAL_UPDATED_AT_COL)
.build());
addIndex(context, tableName, "plugins_key", true, keyColumn);
}
@@ -825,7 +855,7 @@ public class CreateInitialSchema extends DdlChange {
String tableName = "project_alm_bindings";
VarcharColumnDef almIdCol = newVarcharColumnDefBuilder().setColumnName("alm_id").setIsNullable(false).setLimit(40).build();
VarcharColumnDef repoIdCol = newVarcharColumnDefBuilder().setColumnName("repo_id").setIsNullable(false).setLimit(256).build();
- VarcharColumnDef projectUuidCol = newVarcharColumnDefBuilder().setColumnName("project_uuid").setIsNullable(false).setLimit(40).build();
+ VarcharColumnDef projectUuidCol = newVarcharColumnDefBuilder().setColumnName(PROJECT_UUID_COL_NAME).setIsNullable(false).setLimit(40).build();
context.execute(newTableBuilder(tableName)
.addPkColumn(newVarcharColumnBuilder("uuid").setLimit(UUID_SIZE).setIsNullable(false).build())
.addColumn(almIdCol)
@@ -833,8 +863,8 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(projectUuidCol)
.addColumn(newVarcharColumnBuilder("github_slug").setIsNullable(true).setLimit(256).build())
.addColumn(newVarcharColumnBuilder("url").setIsNullable(false).setLimit(2000).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
+ .addColumn(TECHNICAL_UPDATED_AT_COL)
.build());
addIndex(context, tableName, tableName + "_alm_repo", true, almIdCol, repoIdCol);
addIndex(context, tableName, tableName + "_project", true, projectUuidCol);
@@ -842,36 +872,36 @@ public class CreateInitialSchema extends DdlChange {
private void createProjectBranches(Context context) {
String tableName = "project_branches";
- VarcharColumnDef projectUuidCol = newVarcharColumnBuilder("project_uuid").setIsNullable(false).setLimit(UUID_VARCHAR_SIZE).build();
+ VarcharColumnDef projectUuidCol = newVarcharColumnBuilder(PROJECT_UUID_COL_NAME).setIsNullable(false).setLimit(OLD_UUID_VARCHAR_SIZE).build();
VarcharColumnDef keeCol = newVarcharColumnBuilder("kee").setIsNullable(false).setLimit(255).build();
VarcharColumnDef keyTypeCol = newVarcharColumnBuilder("key_type").setIsNullable(false).setLimit(12).build();
context.execute(
newTableBuilder(tableName)
- .addPkColumn(newVarcharColumnBuilder("uuid").setIsNullable(false).setLimit(UUID_VARCHAR_SIZE).build())
+ .addPkColumn(newVarcharColumnBuilder("uuid").setIsNullable(false).setLimit(OLD_UUID_VARCHAR_SIZE).build())
.addColumn(projectUuidCol)
.addColumn(keeCol)
.addColumn(newVarcharColumnBuilder("branch_type").setIsNullable(true).setLimit(12).build())
- .addColumn(newVarcharColumnBuilder("merge_branch_uuid").setIsNullable(true).setLimit(UUID_VARCHAR_SIZE).build())
+ .addColumn(newVarcharColumnBuilder("merge_branch_uuid").setIsNullable(true).setLimit(OLD_UUID_VARCHAR_SIZE).build())
.addColumn(keyTypeCol)
.addColumn(newBlobColumnDefBuilder().setColumnName("pull_request_binary").setIsNullable(true).build())
.addColumn(newVarcharColumnBuilder("manual_baseline_analysis_uuid").setIsNullable(true).setLimit(UUID_SIZE).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
+ .addColumn(TECHNICAL_UPDATED_AT_COL)
.build());
addIndex(context, tableName, "project_branches_kee_key_type", true, projectUuidCol, keeCol, keyTypeCol);
}
private void createProjectLinks(Context context) {
String tableName = "project_links";
- VarcharColumnDef projectUuidCol = newVarcharColumnBuilder("project_uuid").setLimit(UUID_SIZE).setIsNullable(false).build();
+ VarcharColumnDef projectUuidCol = newVarcharColumnBuilder(PROJECT_UUID_COL_NAME).setLimit(UUID_SIZE).setIsNullable(false).build();
context.execute(newTableBuilder(tableName)
.addPkColumn(newVarcharColumnBuilder("uuid").setLimit(UUID_SIZE).setIsNullable(false).build())
.addColumn(projectUuidCol)
.addColumn(newVarcharColumnBuilder("link_type").setLimit(20).setIsNullable(false).build())
.addColumn(newVarcharColumnBuilder("name").setLimit(128).setIsNullable(true).build())
.addColumn(newVarcharColumnBuilder("href").setLimit(2048).setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
+ .addColumn(TECHNICAL_UPDATED_AT_COL)
.build());
addIndex(context, tableName, "project_links_project", false, projectUuidCol);
}
@@ -880,24 +910,24 @@ public class CreateInitialSchema extends DdlChange {
String tableName = "project_mappings";
VarcharColumnDef keyTypeCol = newVarcharColumnBuilder("key_type").setIsNullable(false).setLimit(200).build();
VarcharColumnDef keyCol = newVarcharColumnBuilder("kee").setIsNullable(false).setLimit(MAX_SIZE).build();
- VarcharColumnDef projectUuidCol = newVarcharColumnBuilder("project_uuid").setIsNullable(false).setLimit(UUID_SIZE).build();
+ VarcharColumnDef projectUuidCol = newVarcharColumnBuilder(PROJECT_UUID_COL_NAME).setIsNullable(false).setLimit(UUID_SIZE).build();
context.execute(newTableBuilder(tableName)
.addPkColumn(newVarcharColumnBuilder("uuid").setIsNullable(false).setLimit(UUID_SIZE).build())
.addColumn(keyTypeCol)
.addColumn(keyCol)
.addColumn(projectUuidCol)
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
.build());
addIndex(context, tableName, "key_type_kee", true, keyTypeCol, keyCol);
- addIndex(context, tableName, "project_uuid", false, projectUuidCol);
+ addIndex(context, tableName, PROJECT_UUID_COL_NAME, false, projectUuidCol);
}
private void createProjectMeasures(Context context) {
String tableName = "project_measures";
IntegerColumnDef personIdCol = newIntegerColumnDefBuilder().setColumnName("person_id").build();
- IntegerColumnDef metricIdCol = newIntegerColumnDefBuilder().setColumnName("metric_id").setIsNullable(false).build();
- VarcharColumnDef analysisUuidCol = newLenientVarcharBuilder("analysis_uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(false).build();
- VarcharColumnDef componentUuidCol = newLenientVarcharBuilder("component_uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(false).build();
+ IntegerColumnDef metricIdCol = newIntegerColumnDefBuilder().setColumnName(METRIC_ID_COL_NAME).setIsNullable(false).build();
+ VarcharColumnDef analysisUuidCol = newLenientVarcharBuilder(ANALYSIS_UUID_COL_NAME).setLimit(OLD_UUID_VARCHAR_SIZE).setIsNullable(false).build();
+ VarcharColumnDef componentUuidCol = newLenientVarcharBuilder(COMPONENT_UUID_COL_NAME).setLimit(OLD_UUID_VARCHAR_SIZE).setIsNullable(false).build();
context.execute(
newTableBuilder(tableName)
.addPkColumn(newBigIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
@@ -908,7 +938,7 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(newLenientVarcharBuilder("text_value").setLimit(MAX_SIZE).build())
.addColumn(newLenientVarcharBuilder("alert_status").setLimit(5).build())
.addColumn(newLenientVarcharBuilder("alert_text").setLimit(MAX_SIZE).build())
- .addColumn(newLenientVarcharBuilder("description").setLimit(MAX_SIZE).build())
+ .addColumn(newLenientVarcharBuilder(DESCRIPTION_COL_NAME).setLimit(MAX_SIZE).build())
.addColumn(personIdCol)
.addColumn(newDecimalColumnDefBuilder().setColumnName("variation_value_1").setPrecision(38).setScale(20).build())
.addColumn(newDecimalColumnDefBuilder().setColumnName("variation_value_2").setPrecision(38).setScale(20).build())
@@ -923,11 +953,11 @@ public class CreateInitialSchema extends DdlChange {
private void createProjectQprofiles(Context context) {
String tableName = "project_qprofiles";
- VarcharColumnDef projectUuid = newLenientVarcharBuilder("project_uuid").setLimit(50).setIsNullable(false).build();
+ VarcharColumnDef projectUuid = newLenientVarcharBuilder(PROJECT_UUID_COL_NAME).setLimit(50).setIsNullable(false).build();
VarcharColumnDef profileKey = newLenientVarcharBuilder("profile_key").setLimit(50).setIsNullable(false).build();
context.execute(
newTableBuilder(tableName)
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
.addColumn(projectUuid)
.addColumn(profileKey)
.build());
@@ -937,30 +967,30 @@ public class CreateInitialSchema extends DdlChange {
private void createProjects(Context context) {
String tableName = "projects";
VarcharColumnDef uuidCol = newLenientVarcharBuilder("uuid").setLimit(50).setIsNullable(false).build();
- VarcharColumnDef organizationUuidCol = newVarcharColumnBuilder("organization_uuid").setLimit(UUID_SIZE).setIsNullable(false).build();
+ VarcharColumnDef organizationUuidCol = newVarcharColumnBuilder(ORGANIZATION_UUID_COL_NAME).setLimit(UUID_SIZE).setIsNullable(false).build();
VarcharColumnDef keeCol = newLenientVarcharBuilder("kee").setLimit(400).setIsNullable(true).build();
VarcharColumnDef qualifierCol = newLenientVarcharBuilder("qualifier").setLimit(10).setIsNullable(true).build();
- VarcharColumnDef rootUuidCol = newVarcharColumnBuilder("root_uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(false).build();
- VarcharColumnDef projectUuidCol = newLenientVarcharBuilder("project_uuid").setLimit(50).setIsNullable(false).build();
+ VarcharColumnDef rootUuidCol = newVarcharColumnBuilder("root_uuid").setLimit(OLD_UUID_VARCHAR_SIZE).setIsNullable(false).build();
+ VarcharColumnDef projectUuidCol = newLenientVarcharBuilder(PROJECT_UUID_COL_NAME).setLimit(50).setIsNullable(false).build();
VarcharColumnDef moduleUuidCol = newLenientVarcharBuilder("module_uuid").setLimit(50).setIsNullable(true).build();
context.execute(
newTableBuilder(tableName)
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
.addColumn(uuidCol)
.addColumn(organizationUuidCol)
.addColumn(keeCol)
.addColumn(newLenientVarcharBuilder("deprecated_kee").setLimit(400).setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("name").setLimit(2_000).setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("long_name").setLimit(2_000).setIsNullable(true).build())
- .addColumn(newLenientVarcharBuilder("description").setLimit(2_000).setIsNullable(true).build())
+ .addColumn(newLenientVarcharBuilder(DESCRIPTION_COL_NAME).setLimit(2_000).setIsNullable(true).build())
.addColumn(newBooleanColumnDefBuilder().setColumnName("enabled").setDefaultValue(true).setIsNullable(false).build())
.addColumn(newLenientVarcharBuilder("scope").setLimit(3).setIsNullable(true).build())
.addColumn(qualifierCol)
.addColumn(newBooleanColumnDefBuilder().setColumnName("private").setIsNullable(false).build())
.addColumn(rootUuidCol)
.addColumn(newLenientVarcharBuilder("language").setLimit(20).setIsNullable(true).build())
- .addColumn(newVarcharColumnBuilder("copy_component_uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(true).build())
- .addColumn(newVarcharColumnBuilder("developer_uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(true).build())
+ .addColumn(newVarcharColumnBuilder("copy_component_uuid").setLimit(OLD_UUID_VARCHAR_SIZE).setIsNullable(true).build())
+ .addColumn(newVarcharColumnBuilder("developer_uuid").setLimit(OLD_UUID_VARCHAR_SIZE).setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("path").setLimit(2_000).setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("uuid_path").setLimit(1_500).setIsNullable(false).build())
.addColumn(projectUuidCol)
@@ -968,7 +998,7 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(newLenientVarcharBuilder("module_uuid_path").setLimit(1_500).setIsNullable(true).build())
.addColumn(newBigIntegerColumnDefBuilder().setColumnName("authorization_updated_at").setIsNullable(true).build())
.addColumn(newVarcharColumnBuilder("tags").setLimit(500).setIsNullable(true).build())
- .addColumn(newVarcharColumnBuilder("main_branch_project_uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(true).build())
+ .addColumn(newVarcharColumnBuilder("main_branch_project_uuid").setLimit(OLD_UUID_VARCHAR_SIZE).setIsNullable(true).build())
.addColumn(newBooleanColumnDefBuilder().setColumnName("b_changed").setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("b_name").setLimit(500).setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("b_long_name").setLimit(500).setIsNullable(true).build())
@@ -976,12 +1006,12 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(newBooleanColumnDefBuilder().setColumnName("b_enabled").setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("b_qualifier").setLimit(10).setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("b_language").setLimit(20).setIsNullable(true).build())
- .addColumn(newLenientVarcharBuilder("b_copy_component_uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(true).build())
+ .addColumn(newLenientVarcharBuilder("b_copy_component_uuid").setLimit(OLD_UUID_VARCHAR_SIZE).setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("b_path").setLimit(2_000).setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("b_uuid_path").setLimit(1_500).setIsNullable(true).build())
- .addColumn(newLenientVarcharBuilder("b_module_uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(true).build())
+ .addColumn(newLenientVarcharBuilder("b_module_uuid").setLimit(OLD_UUID_VARCHAR_SIZE).setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("b_module_uuid_path").setLimit(1_500).setIsNullable(true).build())
- .addColumn(newTimestampColumnDefBuilder().setColumnName("created_at").setIsNullable(true).build())
+ .addColumn(DEPRECATED_TECHNICAL_CREATED_AT_COL)
.build());
addIndex(context, tableName, "projects_organization", false, organizationUuidCol);
addIndex(context, tableName, "projects_kee", true, keeCol);
@@ -997,14 +1027,14 @@ public class CreateInitialSchema extends DdlChange {
String tableName = "properties";
VarcharColumnDef propKey = newLenientVarcharBuilder("prop_key").setLimit(512).setIsNullable(false).build();
context.execute(newTableBuilder(tableName)
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
.addColumn(propKey)
.addColumn(newBigIntegerColumnDefBuilder().setColumnName("resource_id").setIsNullable(true).build())
.addColumn(newBigIntegerColumnDefBuilder().setColumnName("user_id").setIsNullable(true).build())
.addColumn(newBooleanColumnDefBuilder().setColumnName("is_empty").setIsNullable(false).build())
.addColumn(newLenientVarcharBuilder("text_value").setLimit(MAX_SIZE).build())
.addColumn(newClobColumnDefBuilder().setColumnName("clob_value").setIsNullable(true).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
// table with be renamed to properties in following migration, use final constraint name right away
.withPkConstraintName("pk_properties")
.build());
@@ -1018,9 +1048,9 @@ public class CreateInitialSchema extends DdlChange {
.addPkColumn(newLenientVarcharBuilder("kee").setLimit(UUID_SIZE).setIsNullable(false).build())
.addColumn(rulesProfileUuidCol)
.addColumn(newLenientVarcharBuilder("change_type").setLimit(20).setIsNullable(false).build())
- .addColumn(newLenientVarcharBuilder("user_uuid").setLimit(255).setIsNullable(true).build())
+ .addColumn(newLenientVarcharBuilder(USER_UUID_COL_NAME).setLimit(255).setIsNullable(true).build())
.addColumn(newClobColumnDefBuilder().setColumnName("change_data").setIsNullable(true).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
.build());
addIndex(context, tableName, "qp_changes_rules_profile_uuid", false, rulesProfileUuidCol);
}
@@ -1033,7 +1063,7 @@ public class CreateInitialSchema extends DdlChange {
.addPkColumn(newVarcharColumnBuilder("uuid").setIsNullable(false).setLimit(UUID_SIZE).build())
.addColumn(groupCol)
.addColumn(qProfileUuidCol)
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
.build());
addIndex(context, tableName, tableName + "_qprofile", false, qProfileUuidCol);
addIndex(context, tableName, tableName + "_unique", true, groupCol, qProfileUuidCol);
@@ -1047,7 +1077,7 @@ public class CreateInitialSchema extends DdlChange {
.addPkColumn(newVarcharColumnBuilder("uuid").setIsNullable(false).setLimit(UUID_SIZE).build())
.addColumn(userIdCol)
.addColumn(qProfileUuidCol)
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
.build());
addIndex(context, tableName, tableName + "_qprofile", false, qProfileUuidCol);
addIndex(context, tableName, tableName + "_unique", true, userIdCol, qProfileUuidCol);
@@ -1056,15 +1086,15 @@ public class CreateInitialSchema extends DdlChange {
private void createQualityGateConditions(Context context) {
context.execute(
newTableBuilder("quality_gate_conditions")
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
.addColumn(newIntegerColumnDefBuilder().setColumnName("qgate_id").setIsNullable(true).build())
- .addColumn(newIntegerColumnDefBuilder().setColumnName("metric_id").setIsNullable(true).build())
+ .addColumn(newIntegerColumnDefBuilder().setColumnName(METRIC_ID_COL_NAME).setIsNullable(true).build())
.addColumn(newIntegerColumnDefBuilder().setColumnName("period").setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("operator").setLimit(3).setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("value_error").setLimit(64).setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("value_warning").setLimit(64).setIsNullable(true).build())
- .addColumn(newTimestampColumnDefBuilder().setColumnName("created_at").setIsNullable(true).build())
- .addColumn(newTimestampColumnDefBuilder().setColumnName("updated_at").setIsNullable(true).build())
+ .addColumn(DEPRECATED_TECHNICAL_CREATED_AT_COL)
+ .addColumn(DEPRECATED_TECHNICAL_UPDATED_AT_COL)
.build());
}
@@ -1073,12 +1103,12 @@ public class CreateInitialSchema extends DdlChange {
VarcharColumnDef uuidCol = newVarcharColumnBuilder("uuid").setIsNullable(false).setLimit(UUID_SIZE).build();
context.execute(
newTableBuilder(tableName)
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
.addColumn(uuidCol)
.addColumn(newLenientVarcharBuilder("name").setLimit(100).setIsNullable(false).build())
.addColumn(newBooleanColumnDefBuilder().setColumnName("is_built_in").setIsNullable(false).build())
- .addColumn(newTimestampColumnDefBuilder().setColumnName("created_at").setIsNullable(true).build())
- .addColumn(newTimestampColumnDefBuilder().setColumnName("updated_at").setIsNullable(true).build())
+ .addColumn(DEPRECATED_TECHNICAL_CREATED_AT_COL)
+ .addColumn(DEPRECATED_TECHNICAL_UPDATED_AT_COL)
.build());
addIndex(context, tableName, "uniq_quality_gates_uuid", true, uuidCol);
}
@@ -1089,7 +1119,7 @@ public class CreateInitialSchema extends DdlChange {
.addPkColumn(newLenientVarcharBuilder("kee").setLimit(200).setIsNullable(false).build())
.addColumn(newLenientVarcharBuilder("language").setLimit(20).setIsNullable(false).build())
.addColumn(newLenientVarcharBuilder("name").setLimit(4_000).setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
.build());
}
@@ -1098,14 +1128,14 @@ public class CreateInitialSchema extends DdlChange {
VarcharColumnDef pluginNameCol = newLenientVarcharBuilder("plugin_name").setLimit(255).setIsNullable(false).build();
context.execute(
newTableBuilder("rules")
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
.addColumn(newLenientVarcharBuilder("name").setLimit(200).setIsNullable(true).build())
.addColumn(pluginRuleKeyCol)
.addColumn(newVarcharColumnBuilder("plugin_key").setLimit(200).setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("plugin_config_key").setLimit(200).setIsNullable(true).build())
.addColumn(pluginNameCol)
.addColumn(newVarcharColumnBuilder("scope").setLimit(20).setIsNullable(false).build())
- .addColumn(newClobColumnDefBuilder().setColumnName("description").setIsNullable(true).build())
+ .addColumn(newClobColumnDefBuilder().setColumnName(DESCRIPTION_COL_NAME).setIsNullable(true).build())
.addColumn(newIntegerColumnDefBuilder().setColumnName("priority").setIsNullable(true).build())
.addColumn(newIntegerColumnDefBuilder().setColumnName("template_id").setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("status").setLimit(40).setIsNullable(true).build())
@@ -1121,8 +1151,8 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(newVarcharColumnBuilder("security_standards").setIsNullable(true).setLimit(4_000).build())
.addColumn(newBooleanColumnDefBuilder().setColumnName("is_ad_hoc").setIsNullable(false).build())
.addColumn(newBooleanColumnDefBuilder().setColumnName("is_external").setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(true).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").setIsNullable(true).build())
+ .addColumn(NULLABLE_TECHNICAL_CREATED_AT_COL)
+ .addColumn(NULLABLE_TECHNICAL_UPDATED_AT_COL)
.build());
addIndex(context, "rules", "rules_repo_key", true, pluginRuleKeyCol, pluginNameCol);
}
@@ -1131,7 +1161,7 @@ public class CreateInitialSchema extends DdlChange {
String tableName = "rules_metadata";
context.execute(newTableBuilder(tableName)
.addPkColumn(newIntegerColumnDefBuilder().setColumnName("rule_id").setIsNullable(false).build())
- .addPkColumn(newVarcharColumnBuilder("organization_uuid").setLimit(UUID_SIZE).setIsNullable(false).build())
+ .addPkColumn(newVarcharColumnBuilder(ORGANIZATION_UUID_COL_NAME).setLimit(UUID_SIZE).setIsNullable(false).build())
.addColumn(newClobColumnDefBuilder().setColumnName("note_data").setIsNullable(true).build())
.addColumn(newVarcharColumnBuilder("note_user_uuid").setLimit(255).setIsNullable(true).build())
.addColumn(newBigIntegerColumnDefBuilder().setColumnName("note_created_at").setIsNullable(true).build())
@@ -1144,8 +1174,8 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(newClobColumnDefBuilder().setColumnName("ad_hoc_description").setIsNullable(true).build())
.addColumn(newVarcharColumnBuilder("ad_hoc_severity").setLimit(10).setIsNullable(true).build())
.addColumn(newTinyIntColumnDefBuilder().setColumnName("ad_hoc_type").setIsNullable(true).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
+ .addColumn(TECHNICAL_UPDATED_AT_COL)
.withPkConstraintName("pk_" + tableName)
.build());
}
@@ -1156,10 +1186,10 @@ public class CreateInitialSchema extends DdlChange {
VarcharColumnDef nameCol = newLenientVarcharBuilder("name").setLimit(128).setIsNullable(false).build();
context.execute(
newTableBuilder(tableName)
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
.addColumn(ruleIdCol)
.addColumn(nameCol)
- .addColumn(newLenientVarcharBuilder("description").setLimit(MAX_SIZE).setIsNullable(true).build())
+ .addColumn(newLenientVarcharBuilder(DESCRIPTION_COL_NAME).setLimit(MAX_SIZE).setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("param_type").setLimit(512).setIsNullable(false).build())
.addColumn(newLenientVarcharBuilder("default_value").setLimit(MAX_SIZE).setIsNullable(true).build())
.build());
@@ -1171,25 +1201,25 @@ public class CreateInitialSchema extends DdlChange {
VarcharColumnDef keeCol = newLenientVarcharBuilder("kee").setLimit(255).setIsNullable(false).build();
context.execute(
newTableBuilder("rules_profiles")
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
.addColumn(newLenientVarcharBuilder("name").setLimit(100).setIsNullable(false).build())
.addColumn(newLenientVarcharBuilder("language").setLimit(20).setIsNullable(true).build())
.addColumn(keeCol)
.addColumn(newBooleanColumnDefBuilder().setColumnName("is_built_in").setIsNullable(false).build())
.addColumn(newLenientVarcharBuilder("rules_updated_at").setLimit(100).setIsNullable(true).build())
- .addColumn(newTimestampColumnDefBuilder().setColumnName("created_at").setIsNullable(true).build())
- .addColumn(newTimestampColumnDefBuilder().setColumnName("updated_at").setIsNullable(true).build())
+ .addColumn(DEPRECATED_TECHNICAL_CREATED_AT_COL)
+ .addColumn(DEPRECATED_TECHNICAL_UPDATED_AT_COL)
.build());
addIndex(context, "rules_profiles", "uniq_qprof_key", true, keeCol);
}
private void createSnapshots(Context context) {
String tableName = "snapshots";
- VarcharColumnDef uuidCol = newLenientVarcharBuilder("uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(false).build();
- VarcharColumnDef componentUuidCol = newLenientVarcharBuilder("component_uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(false).build();
+ VarcharColumnDef uuidCol = newLenientVarcharBuilder("uuid").setLimit(OLD_UUID_VARCHAR_SIZE).setIsNullable(false).build();
+ VarcharColumnDef componentUuidCol = newLenientVarcharBuilder(COMPONENT_UUID_COL_NAME).setLimit(OLD_UUID_VARCHAR_SIZE).setIsNullable(false).build();
context.execute(
newTableBuilder(tableName)
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
.addColumn(uuidCol)
.addColumn(componentUuidCol)
.addColumn(newLenientVarcharBuilder("status").setLimit(4).setIsNullable(false).setDefaultValue("U").build())
@@ -1214,7 +1244,7 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(newBigIntegerColumnDefBuilder().setColumnName("period3_date").setIsNullable(true).build())
.addColumn(newBigIntegerColumnDefBuilder().setColumnName("period4_date").setIsNullable(true).build())
.addColumn(newBigIntegerColumnDefBuilder().setColumnName("period5_date").setIsNullable(true).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(true).build())
+ .addColumn(NULLABLE_TECHNICAL_CREATED_AT_COL)
.build());
addIndex(context, tableName, "analyses_uuid", true, uuidCol);
addIndex(context, tableName, "snapshot_component", false, componentUuidCol);
@@ -1222,15 +1252,15 @@ public class CreateInitialSchema extends DdlChange {
private void createUserProperties(Context context) {
String tableName = "user_properties";
- VarcharColumnDef userUuidCol = newVarcharColumnBuilder("user_uuid").setLimit(255).setIsNullable(false).build();
+ VarcharColumnDef userUuidCol = newVarcharColumnBuilder(USER_UUID_COL_NAME).setLimit(255).setIsNullable(false).build();
VarcharColumnDef keyCol = newVarcharColumnBuilder("kee").setLimit(100).setIsNullable(false).build();
context.execute(newTableBuilder(tableName)
.addPkColumn(newVarcharColumnBuilder("uuid").setLimit(UUID_SIZE).setIsNullable(false).build())
.addColumn(userUuidCol)
.addColumn(keyCol)
.addColumn(newVarcharColumnBuilder("text_value").setLimit(4_000).setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
+ .addColumn(TECHNICAL_UPDATED_AT_COL)
.build());
addIndex(context, tableName, "user_properties_user_uuid_kee", true, userUuidCol, keyCol);
}
@@ -1241,8 +1271,8 @@ public class CreateInitialSchema extends DdlChange {
IntegerColumnDef resourceIdCol = newIntegerColumnDefBuilder().setColumnName("resource_id").setIsNullable(true).build();
context.execute(
newTableBuilder(tableName)
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
- .addColumn(newLenientVarcharBuilder("organization_uuid").setLimit(UUID_SIZE).setIsNullable(false).build())
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
+ .addColumn(newLenientVarcharBuilder(ORGANIZATION_UUID_COL_NAME).setLimit(UUID_SIZE).setIsNullable(false).build())
.addColumn(userIdCol)
.addColumn(resourceIdCol)
.addColumn(newLenientVarcharBuilder("role").setLimit(64).setIsNullable(false).build())
@@ -1253,17 +1283,17 @@ public class CreateInitialSchema extends DdlChange {
private void createUserTokens(Context context) {
String tableName = "user_tokens";
- VarcharColumnDef userUuidCol = newVarcharColumnBuilder("user_uuid").setLimit(255).setIsNullable(false).build();
+ VarcharColumnDef userUuidCol = newVarcharColumnBuilder(USER_UUID_COL_NAME).setLimit(255).setIsNullable(false).build();
VarcharColumnDef nameCol = newVarcharColumnBuilder("name").setLimit(100).setIsNullable(false).build();
VarcharColumnDef tokenHashCol = newVarcharColumnBuilder("token_hash").setLimit(255).setIsNullable(false).build();
context.execute(
newTableBuilder(tableName)
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
.addColumn(userUuidCol)
.addColumn(nameCol)
.addColumn(tokenHashCol)
.addColumn(newBigIntegerColumnDefBuilder().setColumnName("last_connection_date").setIsNullable(true).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
.build());
addIndex(context, tableName, "user_tokens_user_uuid_name", true, userUuidCol, nameCol);
addIndex(context, tableName, "user_tokens_token_hash", true, tokenHashCol);
@@ -1273,16 +1303,16 @@ public class CreateInitialSchema extends DdlChange {
String tableName = "users";
VarcharColumnDef uuidCol = newVarcharColumnBuilder("uuid").setLimit(255).setIsNullable(false).build();
VarcharColumnDef loginCol = newLenientVarcharBuilder("login").setLimit(255).setIsNullable(false).build();
- BigIntegerColumnDef updatedAtCol = newBigIntegerColumnDefBuilder().setColumnName("updated_at").setIsNullable(true).build();
+ BigIntegerColumnDef updatedAtCol = NULLABLE_TECHNICAL_UPDATED_AT_COL;
VarcharColumnDef externalLoginCol = newLenientVarcharBuilder("external_login").setLimit(255).setIsNullable(false).build();
VarcharColumnDef externalIdentityProviderCol = newLenientVarcharBuilder("external_identity_provider").setLimit(100).setIsNullable(false).build();
VarcharColumnDef externalIdCol = newVarcharColumnBuilder("external_id").setLimit(255).setIsNullable(false).build();
context.execute(
newTableBuilder(tableName)
- .addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT)
+ .addPkColumn(ID_COL, AUTO_INCREMENT)
.addColumn(uuidCol)
.addColumn(loginCol)
- .addColumn(newVarcharColumnBuilder("organization_uuid").setLimit(UUID_SIZE).setIsNullable(true).build())
+ .addColumn(newVarcharColumnBuilder(ORGANIZATION_UUID_COL_NAME).setLimit(UUID_SIZE).setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("name").setLimit(200).setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("email").setLimit(100).setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("crypted_password").setLimit(100).setIsNullable(true).build())
@@ -1299,7 +1329,7 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(newVarcharColumnBuilder("homepage_type").setLimit(40).setIsNullable(true).build())
.addColumn(newVarcharColumnBuilder("homepage_parameter").setLimit(40).setIsNullable(true).build())
.addColumn(newBigIntegerColumnDefBuilder().setColumnName("last_connection_date").setIsNullable(true).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(true).build())
+ .addColumn(NULLABLE_TECHNICAL_CREATED_AT_COL)
.addColumn(updatedAtCol)
.build());
addIndex(context, tableName, "users_login", true, loginCol);
@@ -1311,14 +1341,14 @@ public class CreateInitialSchema extends DdlChange {
private void createWebhookDeliveries(Context context) {
String tableName = "webhook_deliveries";
- VarcharColumnDef componentUuidColumn = newLenientVarcharBuilder("component_uuid").setLimit(UUID_SIZE).setIsNullable(false).build();
+ VarcharColumnDef componentUuidColumn = newLenientVarcharBuilder(COMPONENT_UUID_COL_NAME).setLimit(UUID_SIZE).setIsNullable(false).build();
VarcharColumnDef ceTaskUuidColumn = newLenientVarcharBuilder("ce_task_uuid").setLimit(UUID_SIZE).setIsNullable(true).build();
context.execute(newTableBuilder(tableName)
.addPkColumn(newLenientVarcharBuilder("uuid").setLimit(UUID_SIZE).setIsNullable(false).build())
.addColumn(newVarcharColumnBuilder("webhook_uuid").setLimit(UUID_SIZE).setIsNullable(false).build())
.addColumn(componentUuidColumn)
.addColumn(ceTaskUuidColumn)
- .addColumn(newVarcharColumnBuilder("analysis_uuid").setLimit(UUID_SIZE).setIsNullable(true).build())
+ .addColumn(newVarcharColumnBuilder(ANALYSIS_UUID_COL_NAME).setLimit(UUID_SIZE).setIsNullable(true).build())
.addColumn(newLenientVarcharBuilder("name").setLimit(100).setIsNullable(false).build())
.addColumn(newLenientVarcharBuilder("url").setLimit(2_000).setIsNullable(false).build())
.addColumn(newBooleanColumnDefBuilder().setColumnName("success").setIsNullable(false).build())
@@ -1326,16 +1356,16 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(newBigIntegerColumnDefBuilder().setColumnName("duration_ms").setIsNullable(false).build())
.addColumn(newClobColumnDefBuilder().setColumnName("payload").setIsNullable(false).build())
.addColumn(newClobColumnDefBuilder().setColumnName("error_stacktrace").setIsNullable(true).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
.build());
- addIndex(context, tableName, "component_uuid", false, componentUuidColumn);
+ addIndex(context, tableName, COMPONENT_UUID_COL_NAME, false, componentUuidColumn);
addIndex(context, tableName, "ce_task_uuid", false, ceTaskUuidColumn);
}
private void createWebhooks(Context context) {
String tableName = "webhooks";
- VarcharColumnDef organizationUuidCol = newVarcharColumnBuilder("organization_uuid").setLimit(UUID_SIZE).setIsNullable(true).build();
- VarcharColumnDef projectUuidCol = newVarcharColumnBuilder("project_uuid").setLimit(UUID_SIZE).setIsNullable(true).build();
+ VarcharColumnDef organizationUuidCol = newVarcharColumnBuilder(ORGANIZATION_UUID_COL_NAME).setLimit(UUID_SIZE).setIsNullable(true).build();
+ VarcharColumnDef projectUuidCol = newVarcharColumnBuilder(PROJECT_UUID_COL_NAME).setLimit(UUID_SIZE).setIsNullable(true).build();
context.execute(newTableBuilder(tableName)
.addPkColumn(newVarcharColumnBuilder("uuid").setLimit(UUID_SIZE).setIsNullable(false).build())
.addColumn(organizationUuidCol)
@@ -1343,21 +1373,19 @@ public class CreateInitialSchema extends DdlChange {
.addColumn(newVarcharColumnBuilder("name").setLimit(100).setIsNullable(false).build())
.addColumn(newVarcharColumnBuilder("url").setLimit(2_000).setIsNullable(false).build())
.addColumn(newVarcharColumnBuilder("secret").setLimit(200).setIsNullable(true).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build())
- .addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").setIsNullable(true).build())
+ .addColumn(TECHNICAL_CREATED_AT_COL)
+ .addColumn(NULLABLE_TECHNICAL_UPDATED_AT_COL)
.build());
addIndex(context, tableName, "organization_webhook", false, organizationUuidCol);
addIndex(context, tableName, "project_webhook", false, projectUuidCol);
}
- private static void addIndex(Context context, String table, String index, boolean unique, ColumnDef... columns) {
+ private static void addIndex(Context context, String table, String index, boolean unique, ColumnDef firstColumn, ColumnDef... otherColumns) {
CreateIndexBuilder builder = new CreateIndexBuilder()
.setTable(table)
.setName(index)
.setUnique(unique);
- for (ColumnDef column : columns) {
- builder.addColumn(column);
- }
+ concat(of(firstColumn), stream(otherColumns)).forEach(builder::addColumn);
context.execute(builder.build());
}
diff --git a/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v00/PopulateInitialSchema.java b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v00/PopulateInitialSchema.java
index 66c3ff3af84..0af992cc500 100644
--- a/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v00/PopulateInitialSchema.java
+++ b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v00/PopulateInitialSchema.java
@@ -30,6 +30,12 @@ import org.sonar.db.Database;
import org.sonar.server.platform.db.migration.step.DataChange;
import org.sonar.server.platform.db.migration.step.Upsert;
+import static java.util.Arrays.stream;
+import static java.util.Objects.requireNonNull;
+import static java.util.stream.Collectors.joining;
+import static java.util.stream.Stream.concat;
+import static java.util.stream.Stream.of;
+
public class PopulateInitialSchema extends DataChange {
private static final String ADMINS_GROUP = "sonar-administrators";
@@ -82,9 +88,10 @@ public class PopulateInitialSchema extends DataChange {
.execute()
.commit();
- return context.prepareSelect("select id from users where login=?")
+ Integer res = context.prepareSelect("select id from users where login=?")
.setString(1, ADMIN_USER)
.get(t -> t.getInt(1));
+ return requireNonNull(res);
}
private void insertOrganization(Context context, String organizationUuid, Groups groups, String defaultQGUuid) throws SQLException {
@@ -109,10 +116,7 @@ public class PopulateInitialSchema extends DataChange {
private void insertOrgQualityGate(Context context, String organizationUuid, String defaultQGUuid) throws SQLException {
truncateTable(context, "org_quality_gates");
- context.prepareUpsert("insert into org_quality_gates " +
- "(uuid, organization_uuid, quality_gate_uuid)" +
- " values " +
- "(?, ?, ?)")
+ context.prepareUpsert(createInsertStatement("org_quality_gates", "uuid", "organization_uuid", "quality_gate_uuid"))
.setString(1, uuidFactory.create())
.setString(2, organizationUuid)
.setString(3, defaultQGUuid)
@@ -121,13 +125,11 @@ public class PopulateInitialSchema extends DataChange {
}
private void insertInternalProperty(Context context, String organizationUuid) throws SQLException {
- truncateTable(context, "internal_properties");
+ String tableName = "internal_properties";
+ truncateTable(context, tableName);
long now = system2.now();
- Upsert upsert = context.prepareUpsert("insert into internal_properties " +
- "(kee, is_empty, text_value, created_at)" +
- " values" +
- " (?, ?, ?, ?)");
+ Upsert upsert = context.prepareUpsert(createInsertStatement(tableName, "kee", "is_empty", "text_value", "created_at"));
upsert
.setString(1, "organization.default")
.setBoolean(2, false)
@@ -155,7 +157,9 @@ public class PopulateInitialSchema extends DataChange {
truncateTable(context, "groups");
Date now = new Date(system2.now());
- Upsert upsert = context.prepareUpsert("insert into groups (organization_uuid, name, description, created_at, updated_at) values (?, ?, ?, ?, ?)");
+ Upsert upsert = context.prepareUpsert(createInsertStatement(
+ "groups",
+ "organization_uuid", "name", "description", "created_at", "updated_at"));
upsert
.setString(1, organizationUuid)
.setString(2, ADMINS_GROUP)
@@ -178,9 +182,10 @@ public class PopulateInitialSchema extends DataChange {
}
private static int getGroupId(Context context, String groupName) throws SQLException {
- return context.prepareSelect("select id from groups where name=?")
+ Integer res = context.prepareSelect("select id from groups where name=?")
.setString(1, groupName)
.get(t -> t.getInt(1));
+ return requireNonNull(res);
}
private String insertQualityGate(Context context) throws SQLException {
@@ -188,14 +193,12 @@ public class PopulateInitialSchema extends DataChange {
String uuid = uuidFactory.create();
Date now = new Date(system2.now());
- context.prepareUpsert("insert into quality_gates " +
- "(uuid, name, is_built_in, created_at, updated_at)" +
- " values " +
- "(?, 'Sonar way', ?, ?, ?)")
+ context.prepareUpsert(createInsertStatement("quality_gates", "uuid", "name", "is_built_in", "created_at", "updated_at"))
.setString(1, uuid)
- .setBoolean(2, true)
- .setDate(3, now)
+ .setString(2, "Sonar way")
+ .setBoolean(3, true)
.setDate(4, now)
+ .setDate(5, now)
.execute()
.commit();
return uuid;
@@ -222,7 +225,7 @@ public class PopulateInitialSchema extends DataChange {
private static void insertGroupRoles(Context context, String organizationUuid, Groups groups) throws SQLException {
truncateTable(context, "group_roles");
- Upsert upsert = context.prepareUpsert("insert into group_roles (organization_uuid, group_id, role) values (?, ?, ?)");
+ Upsert upsert = context.prepareUpsert(createInsertStatement("group_roles", "organization_uuid", "group_id", "role"));
for (String adminRole : ADMIN_ROLES) {
upsert
.setString(1, organizationUuid)
@@ -245,7 +248,7 @@ public class PopulateInitialSchema extends DataChange {
private static void insertGroupUsers(Context context, int adminUserId, Groups groups) throws SQLException {
truncateTable(context, "groups_users");
- Upsert upsert = context.prepareUpsert("insert into groups_users (user_id, group_id) values (?,?)");
+ Upsert upsert = context.prepareUpsert(createInsertStatement("groups_users", "user_id", "group_id"));
upsert
.setInt(1, adminUserId)
.setInt(2, groups.getUserGroupId())
@@ -262,7 +265,7 @@ public class PopulateInitialSchema extends DataChange {
private static void insertOrganizationMember(Context context, int adminUserId, String organizationUuid) throws SQLException {
truncateTable(context, "organization_members");
- context.prepareUpsert("insert into organization_members(organization_uuid, user_id) values (?, ?)")
+ context.prepareUpsert(createInsertStatement("organization_members", "organization_uuid", "user_id"))
.setString(1, organizationUuid)
.setInt(2, adminUserId)
.execute()
@@ -273,4 +276,11 @@ public class PopulateInitialSchema extends DataChange {
context.prepareUpsert("truncate table " + table).execute().commit();
}
+ private static String createInsertStatement(String tableName, String firstColumn, String... otherColumns) {
+ return "insert into " + tableName + " " +
+ "(" + concat(of(firstColumn), stream(otherColumns)).collect(joining(",")) + ")" +
+ " values" +
+ " (" + concat(of(firstColumn), stream(otherColumns)).map(t -> "?").collect(joining(",")) + ")";
+ }
+
}
diff --git a/server/sonar-main/src/main/java/org/sonar/application/SchedulerImpl.java b/server/sonar-main/src/main/java/org/sonar/application/SchedulerImpl.java
index 4e819e535a6..1817df61032 100644
--- a/server/sonar-main/src/main/java/org/sonar/application/SchedulerImpl.java
+++ b/server/sonar-main/src/main/java/org/sonar/application/SchedulerImpl.java
@@ -454,10 +454,18 @@ public class SchedulerImpl implements Scheduler, ManagedProcessEventListener, Pr
}
}
+ private static int nextRestartStopperThreadIndex() {
+ return restartStopperThreadIndex++;
+ }
+
+ private static int nextHardStopperThreadIndex() {
+ return hardStopperThreadIndex++;
+ }
+
private class RestartStopperThread extends Thread {
private RestartStopperThread() {
- super("RestartStopper-" + restartStopperThreadIndex++);
+ super("RestartStopper-" + nextRestartStopperThreadIndex());
}
@Override
@@ -469,7 +477,7 @@ public class SchedulerImpl implements Scheduler, ManagedProcessEventListener, Pr
private class HardStopperThread extends Thread {
private HardStopperThread() {
- super("HardStopper-" + hardStopperThreadIndex++);
+ super("HardStopper-" + nextHardStopperThreadIndex());
}
@Override
diff --git a/server/sonar-main/src/main/java/org/sonar/application/es/EsLogging.java b/server/sonar-main/src/main/java/org/sonar/application/es/EsLogging.java
index 10450be249b..c0ad5d3d96c 100644
--- a/server/sonar-main/src/main/java/org/sonar/application/es/EsLogging.java
+++ b/server/sonar-main/src/main/java/org/sonar/application/es/EsLogging.java
@@ -41,7 +41,7 @@ public class EsLogging {
log4JPropertiesBuilder.internalLogLevel(Level.ERROR);
log4JPropertiesBuilder.configureGlobalFileLog(config, logDir, logPattern);
if (isAllLogsToConsoleEnabled(props)) {
- log4JPropertiesBuilder.configureGlobalStdoutLog(config, logPattern);
+ log4JPropertiesBuilder.configureGlobalStdoutLog(logPattern);
}
log4JPropertiesBuilder.apply(
LogLevelConfig.newBuilder(log4JPropertiesBuilder.getRootLoggerName())
diff --git a/server/sonar-process/src/main/java/org/sonar/process/logging/Log4JPropertiesBuilder.java b/server/sonar-process/src/main/java/org/sonar/process/logging/Log4JPropertiesBuilder.java
index d365281dc18..c5b24a04d95 100644
--- a/server/sonar-process/src/main/java/org/sonar/process/logging/Log4JPropertiesBuilder.java
+++ b/server/sonar-process/src/main/java/org/sonar/process/logging/Log4JPropertiesBuilder.java
@@ -92,13 +92,13 @@ public class Log4JPropertiesBuilder extends AbstractLogHelper {
return appender.getAppenderRef();
}
- public void configureGlobalStdoutLog(RootLoggerConfig config, String logPattern) {
- String appenderRef = writeStdoutAppender(config, logPattern);
+ public void configureGlobalStdoutLog(String logPattern) {
+ String appenderRef = writeStdoutAppender(logPattern);
putProperty(ROOT_LOGGER_NAME + ".appenderRef." + appenderRef + ".ref", appenderRef);
}
- private String writeStdoutAppender(RootLoggerConfig config, String logPattern) {
+ private String writeStdoutAppender(String logPattern) {
String appenderName = "stdout";
ConsoleAppender appender = new ConsoleAppender(appenderName, logPattern);
appender.writeAppenderProperties();
diff --git a/server/sonar-process/src/test/java/org/sonar/process/logging/Log4JPropertiesBuilderTest.java b/server/sonar-process/src/test/java/org/sonar/process/logging/Log4JPropertiesBuilderTest.java
index cc11d307d33..11f79a14598 100644
--- a/server/sonar-process/src/test/java/org/sonar/process/logging/Log4JPropertiesBuilderTest.java
+++ b/server/sonar-process/src/test/java/org/sonar/process/logging/Log4JPropertiesBuilderTest.java
@@ -275,7 +275,7 @@ public class Log4JPropertiesBuilderTest {
public void name() {
String logPattern = randomAlphanumeric(15);
Log4JPropertiesBuilder underTest = newLog4JPropertiesBuilder();
- underTest.configureGlobalStdoutLog(esRootLoggerConfig, logPattern);
+ underTest.configureGlobalStdoutLog(logPattern);
verifyProperties(underTest.get(),
"appender.stdout.type", "Console",
diff --git a/server/sonar-server-common/src/main/java/org/sonar/server/metric/MetricToDto.java b/server/sonar-server-common/src/main/java/org/sonar/server/metric/MetricToDto.java
index 73b4a2599b1..1cfd7902c6b 100644
--- a/server/sonar-server-common/src/main/java/org/sonar/server/metric/MetricToDto.java
+++ b/server/sonar-server-common/src/main/java/org/sonar/server/metric/MetricToDto.java
@@ -20,6 +20,7 @@
package org.sonar.server.metric;
import com.google.common.base.Function;
+import java.util.Optional;
import javax.annotation.Nonnull;
import org.sonar.api.measures.Metric;
import org.sonar.db.metric.MetricDto;
@@ -28,7 +29,7 @@ public enum MetricToDto implements Function<Metric, MetricDto> {
INSTANCE;
@Override
@Nonnull
- public MetricDto apply(@Nonnull Metric metric) {
+ public MetricDto apply(Metric metric) {
MetricDto dto = new MetricDto();
dto.setId(metric.getId());
dto.setKey(metric.getKey());
@@ -41,7 +42,7 @@ public enum MetricToDto implements Function<Metric, MetricDto> {
dto.setHidden(metric.isHidden());
dto.setQualitative(metric.getQualitative());
dto.setValueType(metric.getType().name());
- dto.setOptimizedBestValue(metric.isOptimizedBestValue());
+ dto.setOptimizedBestValue(Optional.ofNullable(metric.isOptimizedBestValue()).orElse(false));
dto.setUserManaged(metric.getUserManaged());
dto.setWorstValue(metric.getWorstValue());
dto.setDeleteHistoricalData(metric.getDeleteHistoricalData());
diff --git a/server/sonar-server-common/src/main/java/org/sonar/server/util/Paths2Impl.java b/server/sonar-server-common/src/main/java/org/sonar/server/util/Paths2Impl.java
index cf29db5be9d..779c94a9735 100644
--- a/server/sonar-server-common/src/main/java/org/sonar/server/util/Paths2Impl.java
+++ b/server/sonar-server-common/src/main/java/org/sonar/server/util/Paths2Impl.java
@@ -26,14 +26,14 @@ import java.nio.file.Paths;
public final class Paths2Impl implements Paths2 {
private static final Paths2 INSTANCE = new Paths2Impl();
- public static Paths2 getInstance() {
- return INSTANCE;
- }
-
private Paths2Impl() {
// prevents instantiation and subclassing, use getInstance() instead
}
+ public static Paths2 getInstance() {
+ return INSTANCE;
+ }
+
@Override
public Path get(String first, String... more) {
return Paths.get(first, more);
diff --git a/server/sonar-webserver-api/src/main/java/org/sonar/server/exceptions/NotFoundException.java b/server/sonar-webserver-api/src/main/java/org/sonar/server/exceptions/NotFoundException.java
index f21a98b5157..44b64953585 100644
--- a/server/sonar-webserver-api/src/main/java/org/sonar/server/exceptions/NotFoundException.java
+++ b/server/sonar-webserver-api/src/main/java/org/sonar/server/exceptions/NotFoundException.java
@@ -19,7 +19,6 @@
*/
package org.sonar.server.exceptions;
-import com.google.common.base.Optional;
import javax.annotation.Nullable;
import static java.lang.String.format;
@@ -47,14 +46,6 @@ public class NotFoundException extends ServerException {
* @throws NotFoundException if the value is not present
* @return the value
*/
- public static <T> T checkFoundWithOptional(Optional<T> value, String message, Object... messageArguments) {
- if (!value.isPresent()) {
- throw new NotFoundException(format(message, messageArguments));
- }
-
- return value.get();
- }
-
public static <T> T checkFoundWithOptional(java.util.Optional<T> value, String message, Object... messageArguments) {
if (!value.isPresent()) {
throw new NotFoundException(format(message, messageArguments));
diff --git a/server/sonar-webserver-api/src/main/java/org/sonar/server/util/GlobalLockManagerImpl.java b/server/sonar-webserver-api/src/main/java/org/sonar/server/util/GlobalLockManagerImpl.java
index 7611475cd2d..d072808d252 100644
--- a/server/sonar-webserver-api/src/main/java/org/sonar/server/util/GlobalLockManagerImpl.java
+++ b/server/sonar-webserver-api/src/main/java/org/sonar/server/util/GlobalLockManagerImpl.java
@@ -23,7 +23,6 @@ import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.server.ServerSide;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
-import org.sonar.db.property.InternalPropertiesDao;
import static org.sonar.api.utils.Preconditions.checkArgument;
diff --git a/server/sonar-webserver-api/src/test/java/org/sonar/server/exceptions/NotFoundExceptionTest.java b/server/sonar-webserver-api/src/test/java/org/sonar/server/exceptions/NotFoundExceptionTest.java
new file mode 100644
index 00000000000..d2e9304b9e2
--- /dev/null
+++ b/server/sonar-webserver-api/src/test/java/org/sonar/server/exceptions/NotFoundExceptionTest.java
@@ -0,0 +1,94 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2019 SonarSource SA
+ * mailto:info 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.server.exceptions;
+
+import java.util.Optional;
+import org.junit.Test;
+
+import static org.apache.commons.lang.RandomStringUtils.randomAlphabetic;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
+import static org.sonar.server.exceptions.NotFoundException.checkFound;
+import static org.sonar.server.exceptions.NotFoundException.checkFoundWithOptional;
+
+public class NotFoundExceptionTest {
+ @Test
+ public void http_code_is_404() {
+ NotFoundException underTest = new NotFoundException(randomAlphabetic(12));
+
+ assertThat(underTest.httpCode()).isEqualTo(404);
+ }
+ @Test
+ public void message_is_constructor_argument() {
+ String message = randomAlphabetic(12);
+ NotFoundException underTest = new NotFoundException(message);
+
+ assertThat(underTest.getMessage()).isEqualTo(message);
+ }
+
+ @Test
+ public void checkFound_type_throws_NotFoundException_if_parameter_is_null() {
+ String message = randomAlphabetic(12);
+ assertThatExceptionOfType(NotFoundException.class)
+ .isThrownBy(() -> checkFound(null, message))
+ .withMessage(message);
+ }
+
+ @Test
+ public void checkFound_type_throws_NotFoundException_if_parameter_is_null_and_formats_message() {
+ String message = "foo %s";
+ assertThatExceptionOfType(NotFoundException.class)
+ .isThrownBy(() -> checkFound(null, message, "bar"))
+ .withMessage("foo bar");
+ }
+
+ @Test
+ public void checkFound_return_parameter_if_parameter_is_not_null() {
+ String message = randomAlphabetic(12);
+ Object o = new Object();
+
+ assertThat(checkFound(o, message)).isSameAs(o);
+ }
+
+ @Test
+ public void checkFoundWithOptional_throws_NotFoundException_if_empty() {
+ String message = randomAlphabetic(12);
+ assertThatExceptionOfType(NotFoundException.class)
+ .isThrownBy(() -> checkFoundWithOptional(Optional.empty(), message))
+ .withMessage(message);
+ }
+
+ @Test
+ public void checkFoundWithOptional_throws_NotFoundException_if_empty_and_formats_message() {
+ String message = "foo %s";
+ assertThatExceptionOfType(NotFoundException.class)
+ .isThrownBy(() -> checkFoundWithOptional(Optional.empty(), message, "bar"))
+ .withMessage("foo bar");
+ }
+
+ @Test
+ public void checkFoundWithOptional_return_content_of_if_not_empty() {
+ String message = randomAlphabetic(12);
+ Object o = new Object();
+
+ assertThat(checkFoundWithOptional(Optional.of(o), message)).isSameAs(o);
+ }
+
+}
diff --git a/server/sonar-webserver-auth/src/main/java/org/sonar/server/permission/GroupIdOrAnyone.java b/server/sonar-webserver-auth/src/main/java/org/sonar/server/permission/GroupIdOrAnyone.java
index 4a6add59eb6..c2a21151cbc 100644
--- a/server/sonar-webserver-auth/src/main/java/org/sonar/server/permission/GroupIdOrAnyone.java
+++ b/server/sonar-webserver-auth/src/main/java/org/sonar/server/permission/GroupIdOrAnyone.java
@@ -41,7 +41,7 @@ public class GroupIdOrAnyone {
private GroupIdOrAnyone(String organizationUuid, @Nullable Integer id) {
this.id = id;
- this.organizationUuid = requireNonNull(organizationUuid);
+ this.organizationUuid = requireNonNull(organizationUuid, "organizationUuid can't be null");
}
public boolean isAnyone() {
diff --git a/server/sonar-webserver-auth/src/test/java/org/sonar/server/permission/GroupIdOrAnyoneTest.java b/server/sonar-webserver-auth/src/test/java/org/sonar/server/permission/GroupIdOrAnyoneTest.java
new file mode 100644
index 00000000000..6a8a7b4eda2
--- /dev/null
+++ b/server/sonar-webserver-auth/src/test/java/org/sonar/server/permission/GroupIdOrAnyoneTest.java
@@ -0,0 +1,94 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2019 SonarSource SA
+ * mailto:info 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.server.permission;
+
+import java.util.Random;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.sonar.db.user.GroupDto;
+
+import static org.apache.commons.lang.RandomStringUtils.randomAlphabetic;
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class GroupIdOrAnyoneTest {
+ @Rule
+ public ExpectedException expectedException = ExpectedException.none();
+
+ @Test
+ public void from_fails_with_NPE_if_GroupDto_organizationUuid_is_null() {
+ GroupDto dto = new GroupDto();
+
+ expectOrganizationUuidNPE();
+
+ GroupIdOrAnyone.from(dto);
+ }
+
+ @Test
+ public void for_returns_isAnyone_if_id_is_null() {
+ String organizationUuid = randomAlphabetic(10);
+ GroupDto dto = new GroupDto();
+ dto.setOrganizationUuid(organizationUuid);
+
+ GroupIdOrAnyone underTest = GroupIdOrAnyone.from(dto);
+
+ assertThat(underTest.getOrganizationUuid()).isEqualTo(organizationUuid);
+ assertThat(underTest.isAnyone()).isTrue();
+ assertThat(underTest.getId()).isNull();
+ }
+
+ @Test
+ public void for_returns_isAnyone_false_if_id_is_not_null() {
+ int id = new Random().nextInt(199);
+ String organizationUuid = randomAlphabetic(10);
+ GroupDto dto = new GroupDto();
+ dto.setOrganizationUuid(organizationUuid);
+ dto.setId(id);
+
+ GroupIdOrAnyone underTest = GroupIdOrAnyone.from(dto);
+
+ assertThat(underTest.getOrganizationUuid()).isEqualTo(organizationUuid);
+ assertThat(underTest.isAnyone()).isFalse();
+ assertThat(underTest.getId()).isEqualTo(id);
+ }
+
+ @Test
+ public void forAnyone_fails_with_NPE_if_arg_is_null() {
+ expectOrganizationUuidNPE();
+
+ GroupIdOrAnyone.forAnyone(null);
+ }
+
+ @Test
+ public void forAnyone_returns_isAnyone_true() {
+ String organizationUuid = randomAlphabetic(12);
+
+ GroupIdOrAnyone underTest = GroupIdOrAnyone.forAnyone(organizationUuid);
+
+ assertThat(underTest.isAnyone()).isTrue();
+ assertThat(underTest.getOrganizationUuid()).isEqualTo(organizationUuid);
+ assertThat(underTest.getId()).isNull();
+ }
+
+ private void expectOrganizationUuidNPE() {
+ expectedException.expect(NullPointerException.class);
+ expectedException.expectMessage("organizationUuid can't be null");
+ }
+}
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/TaskAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/TaskAction.java
index 8ad0f2f58d3..12420d91852 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/TaskAction.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/TaskAction.java
@@ -42,10 +42,10 @@ import org.sonar.db.ce.CeQueueDto;
import org.sonar.db.ce.CeTaskMessageDto;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.permission.OrganizationPermission;
-import org.sonar.server.exceptions.NotFoundException;
import org.sonar.server.user.UserSession;
import org.sonarqube.ws.Ce;
+import static org.sonar.server.exceptions.NotFoundException.checkFoundWithOptional;
import static org.sonar.server.user.AbstractUserSession.insufficientPrivilegesException;
import static org.sonar.server.ws.WsUtils.writeProtobuf;
@@ -100,7 +100,9 @@ public class TaskAction implements CeWsAction {
checkPermission(component);
wsTaskResponse.setTask(wsTaskFormatter.formatQueue(dbSession, queueDto.get()));
} else {
- CeActivityDto ceActivityDto = NotFoundException.checkFoundWithOptional(dbClient.ceActivityDao().selectByUuid(dbSession, taskUuid), "No activity found for task '%s'", taskUuid);
+ CeActivityDto ceActivityDto = checkFoundWithOptional(
+ dbClient.ceActivityDao().selectByUuid(dbSession, taskUuid),
+ "No activity found for task '%s'", taskUuid);
Optional<ComponentDto> component = loadComponent(dbSession, ceActivityDto.getComponentUuid());
checkPermission(component);
Set<AdditionalField> additionalFields = AdditionalField.getFromRequest(wsRequest);
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/SearchResponseFormat.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/SearchResponseFormat.java
index c20b8ebd244..1f43b5bbe43 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/SearchResponseFormat.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/SearchResponseFormat.java
@@ -132,14 +132,14 @@ public class SearchResponseFormat {
}
}
- private void formatPaging(Paging paging, SearchWsResponse.Builder response) {
+ private static void formatPaging(Paging paging, SearchWsResponse.Builder response) {
response.setP(paging.pageIndex());
response.setPs(paging.pageSize());
response.setTotal(paging.total());
response.setPaging(formatPaging(paging));
}
- private Common.Paging.Builder formatPaging(Paging paging) {
+ private static Common.Paging.Builder formatPaging(Paging paging) {
return Common.Paging.newBuilder()
.setPageIndex(paging.pageIndex())
.setPageSize(paging.pageSize())
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/organization/ws/PreventUserDeletionAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/organization/ws/PreventUserDeletionAction.java
index 7ff1feb859d..30340632807 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/organization/ws/PreventUserDeletionAction.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/organization/ws/PreventUserDeletionAction.java
@@ -68,7 +68,7 @@ public class PreventUserDeletionAction implements OrganizationsWsAction {
}
}
- private Organizations.PreventUserDeletionWsResponse buildResponse(List<OrganizationDto> organizations) {
+ private static Organizations.PreventUserDeletionWsResponse buildResponse(List<OrganizationDto> organizations) {
Organizations.PreventUserDeletionWsResponse.Builder response = Organizations.PreventUserDeletionWsResponse.newBuilder();
Organizations.PreventUserDeletionWsResponse.Organization.Builder wsOrganization = Organizations.PreventUserDeletionWsResponse.Organization.newBuilder();
organizations.forEach(o -> {
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/QProfileBackuperImpl.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/QProfileBackuperImpl.java
index 4a63cba654b..ec95957feb0 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/QProfileBackuperImpl.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/QProfileBackuperImpl.java
@@ -56,7 +56,7 @@ public class QProfileBackuperImpl implements QProfileBackuper {
private final QProfileParser qProfileParser;
public QProfileBackuperImpl(DbClient db, QProfileReset profileReset, QProfileFactory profileFactory,
- RuleCreator ruleCreator, QProfileParser qProfileParser) {
+ RuleCreator ruleCreator, QProfileParser qProfileParser) {
this.db = db;
this.profileReset = profileReset;
this.profileFactory = profileFactory;
@@ -120,7 +120,7 @@ public class QProfileBackuperImpl implements QProfileBackuper {
.collect(Collectors.toMap(RuleDefinitionDto::getKey, Function.identity()));
}
- private void checkIfRulesFromExternalEngines(Map<RuleKey, RuleDefinitionDto> ruleDefinitionsByKey) {
+ private static void checkIfRulesFromExternalEngines(Map<RuleKey, RuleDefinitionDto> ruleDefinitionsByKey) {
List<RuleDefinitionDto> externalRules = ruleDefinitionsByKey.values().stream()
.filter(RuleDefinitionDto::isExternal)
.collect(Collectors.toList());
@@ -156,7 +156,7 @@ public class QProfileBackuperImpl implements QProfileBackuper {
.setParameters(r.getParameters());
}
- private List<RuleActivation> toRuleActivations(List<ImportedRule> rules, Map<RuleKey, RuleDefinitionDto> ruleDefinitionsByKey) {
+ private static List<RuleActivation> toRuleActivations(List<ImportedRule> rules, Map<RuleKey, RuleDefinitionDto> ruleDefinitionsByKey) {
return rules.stream()
.map(r -> {
RuleDefinitionDto ruleDefinition = ruleDefinitionsByKey.get(r.getRuleKey());
diff --git a/server/sonar-webserver/src/main/java/org/sonar/server/platform/web/MasterServletFilter.java b/server/sonar-webserver/src/main/java/org/sonar/server/platform/web/MasterServletFilter.java
index ce6a83cb407..fc765edffee 100644
--- a/server/sonar-webserver/src/main/java/org/sonar/server/platform/web/MasterServletFilter.java
+++ b/server/sonar-webserver/src/main/java/org/sonar/server/platform/web/MasterServletFilter.java
@@ -43,15 +43,15 @@ import org.sonar.server.platform.PlatformImpl;
*/
public class MasterServletFilter implements Filter {
- private static volatile MasterServletFilter INSTANCE;
+ private static volatile MasterServletFilter instance;
private ServletFilter[] filters;
private FilterConfig config;
public MasterServletFilter() {
- if (INSTANCE != null) {
+ if (instance != null) {
throw new IllegalStateException("Servlet filter " + getClass().getName() + " is already instantiated");
}
- INSTANCE = this;
+ instance = this;
}
@Override
@@ -63,12 +63,12 @@ public class MasterServletFilter implements Filter {
@CheckForNull
public static MasterServletFilter getInstance() {
- return INSTANCE;
+ return instance;
}
@VisibleForTesting
static void setInstance(@Nullable MasterServletFilter instance) {
- INSTANCE = instance;
+ MasterServletFilter.instance = instance;
}
void init(FilterConfig config, List<ServletFilter> filters) {
diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/cpd/CpdSettings.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/cpd/CpdSettings.java
index 198be51b14d..5e3f3c54f20 100644
--- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/cpd/CpdSettings.java
+++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/cpd/CpdSettings.java
@@ -22,7 +22,6 @@ package org.sonar.scanner.cpd;
import org.sonar.api.CoreProperties;
import org.sonar.api.config.Configuration;
import org.sonar.duplications.block.BlockChunker;
-import org.sonar.api.batch.fs.internal.DefaultInputProject;
public class CpdSettings {
private final Configuration settings;