]> source.dussan.org Git - sonarqube.git/commitdiff
Deprecate Resource::getLanguage() to ease later API changes
authorJulien HENRY <julien.henry@sonarsource.com>
Mon, 19 Jan 2015 11:07:21 +0000 (12:07 +0100)
committerJulien HENRY <julien.henry@sonarsource.com>
Mon, 19 Jan 2015 11:08:04 +0000 (12:08 +0100)
sonar-plugin-api/src/main/java/org/sonar/api/resources/Resource.java
sonar-plugin-api/src/test/java/org/sonar/api/resources/FileTest.java

index a07c226a73b8c2ed7e2e45e0f82bac4884a2757e..4f655cf5b510c22b796dc3a1dc63823a9b8e0e5b 100644 (file)
@@ -194,11 +194,22 @@ public abstract class Resource implements Serializable {
   public abstract String getDescription();
 
   /**
-   * @return the language of the resource. Only {@link File}s have a non null value.
+   * @return the language of the resource. Only {@link File}s may have a non null value.
+   * @deprecated since 5.1 use {@link #language()}
    */
+  @Deprecated
   @CheckForNull
   public abstract Language getLanguage();
 
+  /**
+   * @return the language of the resource. Only {@link File}s may have a non null value.
+   */
+  @CheckForNull
+  public String language() {
+    Language l = getLanguage();
+    return l != null ? l.getKey() : null;
+  }
+
   /**
    * @return the scope
    */
index b73ddc3fd3cc52a4c9c7c9f2cea67872fcd889c6..dbd04f48202f24028bdccc2be2b1b1436cd69294 100644 (file)
@@ -89,6 +89,7 @@ public class FileTest {
     File file = new File("toto.sql");
     assertThat(file.getDeprecatedKey(), is("toto.sql"));
     assertThat(file.getName(), is("toto.sql"));
+    assertThat(file.language()).isNull();
     assertThat(file.getParent().getDeprecatedKey(), is(Directory.ROOT));
     assertThat(file.getScope(), is(Resource.SCOPE_ENTITY));
     assertThat(file.getQualifier(), is(Resource.QUALIFIER_FILE));
@@ -106,12 +107,19 @@ public class FileTest {
 
   @Test
   public void setLanguage() {
-    Language lang = mock(Language.class);
+    Language lang = new AbstractLanguage("java", "Java") {
+
+      @Override
+      public String[] getFileSuffixes() {
+        return null;
+      }
+    };
     File file = new File(lang, "Foo.java");
     assertThat(file.getLanguage(), is(lang));
 
     file = new File(lang, "org/sonar", "Foo.java");
     assertThat(file.getLanguage(), is(lang));
+    assertThat(file.language()).isEqualTo("java");
     assertThat(file.getParent().getLanguage(), nullValue());
   }