]> source.dussan.org Git - sonarqube.git/blob
28e4dec494a4bf98843ee1eddf2a9f66dedbdc83
[sonarqube.git] /
1 /*
2  * SonarQube
3  * Copyright (C) 2009-2017 SonarSource SA
4  * mailto:info AT sonarsource DOT com
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 3 of the License, or (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public License
17  * along with this program; if not, write to the Free Software Foundation,
18  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
19  */
20 package org.sonar.server.platform.db.migration.version.v66;
21
22 import java.sql.SQLException;
23 import org.sonar.db.Database;
24 import org.sonar.server.platform.db.migration.step.DataChange;
25
26 public class PurgeTableProperties extends DataChange {
27
28   public PurgeTableProperties(Database db) {
29     super(db);
30   }
31
32   @Override
33   protected void execute(Context context) throws SQLException {
34     deleteByKey(context, "views.analysisDelayingInMinutes");
35     deleteByKey(context, "views.status");
36     deleteByKey(context, "sonar.issuesdensity.weight");
37     deleteByKey(context, "sonar.core.version");
38     deleteByKeyPrefix(context, "sonar.reports.");
39     deleteByKeyPrefix(context, "sonar.report.license");
40     deleteByKeyPrefix(context, "sonar.sqale.");
41     deleteByKeyPrefix(context, "sqale.license");
42     deleteByKeyPrefix(context, "devcockpit.");
43     deleteByKeyPrefix(context, "masterproject.");
44     deleteByKeyPrefix(context, "sonar.natural.");
45     deleteByKeyPrefix(context, "sonarsource.natural.");
46     deleteByKeyPrefix(context, "sonarsource.identity.");
47     deleteByKeyPrefix(context, "sonar.build-stability.");
48   }
49
50   private static void deleteByKey(Context context, String key) throws SQLException {
51     context.prepareUpsert("delete from properties where prop_key = ?")
52       .setString(1, key)
53       .execute()
54       .commit();
55   }
56
57   private static void deleteByKeyPrefix(Context context, String key) throws SQLException {
58     context.prepareUpsert("delete from properties where prop_key like ?")
59       .setString(1, key + "%")
60       .execute()
61       .commit();
62   }
63 }