From 2d34b833738ddc86750d058aa11f1ffef75916c8 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Lievremont Date: Fri, 6 Feb 2015 17:34:11 +0100 Subject: [PATCH] SONAR-5958 Migrate issue filters --- ...eComponentRelatedParamsInIssueFilters.java | 32 +++---------------- .../execute-result.xml | 20 ++++++++---- .../execute.xml | 12 +++++-- 3 files changed, 27 insertions(+), 37 deletions(-) diff --git a/server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/RenameComponentRelatedParamsInIssueFilters.java b/server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/RenameComponentRelatedParamsInIssueFilters.java index e0b9516bb3f..b74b5ac3d97 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/RenameComponentRelatedParamsInIssueFilters.java +++ b/server/sonar-server/src/main/java/org/sonar/server/db/migrations/v51/RenameComponentRelatedParamsInIssueFilters.java @@ -19,10 +19,7 @@ */ package org.sonar.server.db.migrations.v51; -import com.google.common.base.Joiner; -import com.google.common.base.Splitter; import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import org.apache.commons.lang.StringUtils; import org.sonar.api.utils.System2; import org.sonar.core.persistence.Database; @@ -34,17 +31,13 @@ import org.sonar.server.db.migrations.SqlStatement; import java.sql.SQLException; import java.util.Date; import java.util.List; -import java.util.SortedSet; public class RenameComponentRelatedParamsInIssueFilters extends BaseDataChange { private static final char FIELD_SEPARATOR = '|'; private static final String LIKE_PREFIX = "data like '%"; private static final String LIKE_SUFFIX = "%' or "; - private static final String COMPONENTS = "components="; private static final String COMPONENT_UUIDS = "componentUuids="; - private static final String PROJECTS = "projects="; - private static final String COMPONENT_ROOTS = "componentRoots="; private static final String COMPONENT_ROOT_UUIDS = "componentRootUuids="; private final System2 system; @@ -59,9 +52,7 @@ public class RenameComponentRelatedParamsInIssueFilters extends BaseDataChange { final Date now = new Date(system.now()); MassUpdate massUpdate = context.prepareMassUpdate(); massUpdate.select("select id,data from issue_filters where " + - LIKE_PREFIX + COMPONENTS + LIKE_SUFFIX + - LIKE_PREFIX + PROJECTS + LIKE_SUFFIX + - LIKE_PREFIX + COMPONENT_ROOTS + LIKE_SUFFIX + + LIKE_PREFIX + COMPONENT_UUIDS + LIKE_SUFFIX + LIKE_PREFIX + COMPONENT_ROOT_UUIDS + "%'"); massUpdate.update("update issue_filters set data=?, updated_at=? where id=?"); massUpdate.rowPluralName("issue filters"); @@ -81,28 +72,15 @@ public class RenameComponentRelatedParamsInIssueFilters extends BaseDataChange { String[] fields = StringUtils.split(data, FIELD_SEPARATOR); List fieldsToKeep = Lists.newArrayList(); - SortedSet components = Sets.newTreeSet(); - SortedSet componentUuids = Sets.newTreeSet(); - Splitter componentSplitter = Splitter.on(","); - Joiner componentJoiner = Joiner.on(","); for (String field : fields) { - if (field.startsWith(COMPONENTS) || field.startsWith(COMPONENT_ROOTS)) { - components.addAll(Lists.newArrayList(componentSplitter.split(field.substring(field.indexOf("=") + 1)))); - } else if (field.startsWith(COMPONENT_UUIDS) || field.startsWith(COMPONENT_ROOT_UUIDS)) { - componentUuids.addAll(Lists.newArrayList(componentSplitter.split(field.substring(field.indexOf("=") + 1)))); - } else if (field.startsWith(PROJECTS)) { - fieldsToKeep.add(field.replace(PROJECTS, "projectKeys=")); + if (field.startsWith(COMPONENT_UUIDS) || field.startsWith(COMPONENT_ROOT_UUIDS)) { + fieldsToKeep.add( + field.replace(COMPONENT_UUIDS, "fileUuids=") + .replace(COMPONENT_ROOT_UUIDS, "moduleUuids=")); } else { fieldsToKeep.add(field); } } - if (!components.isEmpty()) { - fieldsToKeep.add("componentKeys=" + componentJoiner.join(components)); - } - if (!componentUuids.isEmpty()) { - fieldsToKeep.add("componentUuids=" + componentJoiner.join(componentUuids)); - } - update.setString(1, StringUtils.join(fieldsToKeep, FIELD_SEPARATOR)); update.setDate(2, now); update.setLong(3, row.getLong(1)); diff --git a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/RenameComponentRelatedParamsInIssueFiltersMigrationTest/execute-result.xml b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/RenameComponentRelatedParamsInIssueFiltersMigrationTest/execute-result.xml index ffb355824b6..a8697260c07 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/RenameComponentRelatedParamsInIssueFiltersMigrationTest/execute-result.xml +++ b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/RenameComponentRelatedParamsInIssueFiltersMigrationTest/execute-result.xml @@ -1,6 +1,7 @@ - + + + updated_at="2013-06-10 00:00:00.0" /> + + + + diff --git a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/RenameComponentRelatedParamsInIssueFiltersMigrationTest/execute.xml b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/RenameComponentRelatedParamsInIssueFiltersMigrationTest/execute.xml index bebd7d0a387..e88294d599c 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/RenameComponentRelatedParamsInIssueFiltersMigrationTest/execute.xml +++ b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/v51/RenameComponentRelatedParamsInIssueFiltersMigrationTest/execute.xml @@ -1,5 +1,6 @@ + + + + + +