@@ -43,7 +43,7 @@ public class DeleteFavoritesExceedingOneHundred extends DataChange { | |||
private static final String FAVOURITE_PROPERTY = "favourite"; | |||
private static final List<String> SORTED_QUALIFIERS = asList("TRK", "VW", "APP", "SVW", "FIL"); | |||
private static final List<String> SORTED_QUALIFIERS = asList("TRK", "VW", "APP", "SVW", "FIL", "UTS"); | |||
public DeleteFavoritesExceedingOneHundred(Database db) { | |||
super(db); |
@@ -36,7 +36,7 @@ public class DeleteFavouritesOnNotSupportedComponentQualifiers extends DataChang | |||
public void execute(Context context) throws SQLException { | |||
MassUpdate massUpdate = context.prepareMassUpdate().rowPluralName("favourites"); | |||
massUpdate.select("SELECT prop.id FROM properties prop " + | |||
"INNER JOIN projects p ON p.id=prop.resource_id AND p.qualifier NOT IN ('TRK', 'FIL', 'VW', 'SVW', 'APP') " + | |||
"INNER JOIN projects p ON p.id=prop.resource_id AND p.qualifier NOT IN ('TRK', 'FIL', 'VW', 'SVW', 'APP', 'UTS') " + | |||
"WHERE prop_key=? AND user_id IS NOT NULL") | |||
.setString(1, "favourite"); | |||
massUpdate.update("DELETE FROM properties WHERE id=?"); |
@@ -64,10 +64,12 @@ public class DeleteFavouritesOnNotSupportedComponentQualifiersTest { | |||
int prop4 = insertProperty(FAVOURITE_PROPERTY, subPortfolioId); | |||
int applicationId = insertComponent("APP"); | |||
int prop5 = insertProperty(FAVOURITE_PROPERTY, applicationId); | |||
int unitTestId = insertComponent("UTS"); | |||
int prop6 = insertProperty(FAVOURITE_PROPERTY, unitTestId); | |||
underTest.execute(); | |||
assertProperties(prop1, prop2, prop3, prop4, prop5); | |||
assertProperties(prop1, prop2, prop3, prop4, prop5, prop6); | |||
} | |||
@Test |
@@ -37,12 +37,18 @@ import static com.google.common.base.Preconditions.checkArgument; | |||
import static java.lang.String.format; | |||
import static java.lang.String.join; | |||
import static java.util.Arrays.asList; | |||
import static org.sonar.api.resources.Qualifiers.APP; | |||
import static org.sonar.api.resources.Qualifiers.FILE; | |||
import static org.sonar.api.resources.Qualifiers.PROJECT; | |||
import static org.sonar.api.resources.Qualifiers.SUBVIEW; | |||
import static org.sonar.api.resources.Qualifiers.UNIT_TEST_FILE; | |||
import static org.sonar.api.resources.Qualifiers.VIEW; | |||
import static org.sonar.api.web.UserRole.USER; | |||
import static org.sonar.server.favorite.ws.FavoritesWsParameters.PARAM_COMPONENT; | |||
public class AddAction implements FavoritesWsAction { | |||
private static final List<String> SUPPORTED_QUALIFIERS = asList("TRK", "VW", "APP", "SVW", "FIL"); | |||
private static final List<String> SUPPORTED_QUALIFIERS = asList(PROJECT, VIEW, SUBVIEW, APP, FILE, UNIT_TEST_FILE); | |||
private static final String SUPPORTED_QUALIFIERS_AS_STRING = join(", ", SUPPORTED_QUALIFIERS); | |||
private final UserSession userSession; |
@@ -158,7 +158,7 @@ public class AddActionTest { | |||
userSession.logIn(user).addProjectPermission(USER, project); | |||
expectedException.expect(IllegalArgumentException.class); | |||
expectedException.expectMessage("Only components with qualifiers TRK, VW, APP, SVW, FIL are supported"); | |||
expectedException.expectMessage("Only components with qualifiers TRK, VW, SVW, APP, FIL, UTS are supported"); | |||
call(directory.getKey()); | |||
} |