]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-4195 When searching for component keys, we should searching by setting keys...
authorJulien Lancelot <julien.lancelot@gmail.com>
Fri, 20 Sep 2013 06:34:44 +0000 (08:34 +0200)
committerJulien Lancelot <julien.lancelot@gmail.com>
Fri, 20 Sep 2013 06:34:44 +0000 (08:34 +0200)
sonar-core/src/main/java/org/sonar/core/measure/MeasureFilterSql.java
sonar-core/src/test/java/org/sonar/core/measure/MeasureFilterExecutorTest.java

index d48a7d66ac993f5f231479db585af253c7637cbd..025422b6572a303c5018b2920153882617120500 100644 (file)
@@ -163,8 +163,8 @@ class MeasureFilterSql {
 
   private void appendResourceKeyCondition(StringBuilder sb) {
     if (StringUtils.isNotBlank(filter.getResourceKey())) {
-      sb.append(" AND p.kee LIKE '%");
-      sb.append(StringEscapeUtils.escapeSql(StringUtils.lowerCase(filter.getResourceKey())));
+      sb.append(" AND UPPER(p.kee) LIKE '%");
+      sb.append(StringEscapeUtils.escapeSql(StringUtils.upperCase(filter.getResourceKey())));
       sb.append("%'");
     }
   }
index e39b957dd7783774e8e2d11563256caf9aeeca4a..733a7e997622f7cb47ad9a9d78cc605960103916 100644 (file)
@@ -481,6 +481,16 @@ public class MeasureFilterExecutorTest {
     verifyJavaProject(rows.get(0));
   }
 
+  @Test
+  public void filter_by_resource_key_with_component_key_containing_upper_case() throws SQLException {
+    db.prepareDbUnit(getClass(), "shared.xml");
+    MeasureFilter filter = new MeasureFilter().setResourceQualifiers(Arrays.asList("CLA")).setResourceKey("big");
+    List<MeasureFilterRow> rows = executor.execute(filter, new MeasureFilterContext());
+
+    assertThat(rows).hasSize(1);
+    verifyJavaBigFile(rows.get(0));
+  }
+
   @Test
   public void filter_by_base_resource() throws SQLException {
     db.prepareDbUnit(getClass(), "shared.xml");