]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-1865 Dollars ($) are not accepted in java class names
authorsimonbrandhof <simon.brandhof@gmail.com>
Fri, 15 Apr 2011 08:06:08 +0000 (10:06 +0200)
committersimonbrandhof <simon.brandhof@gmail.com>
Fri, 15 Apr 2011 08:06:39 +0000 (10:06 +0200)
sonar-plugin-api/src/main/java/org/sonar/api/resources/JavaFile.java
sonar-plugin-api/src/test/java/org/sonar/api/resources/JavaFileTest.java

index 1949efea86c2abfbd5e88e48345481713647deb9..9b68e000f2476825e83ffe8d4a9cb0b6f918907a 100644 (file)
@@ -54,9 +54,6 @@ public class JavaFile extends Resource<JavaPackage> {
     if (className == null) {
       throw new IllegalArgumentException("Java filename can not be null");
     }
-    if (className.indexOf('$') >= 0) {
-      throw new IllegalArgumentException("Java inner classes are not supported : " + className);
-    }
     this.filename = StringUtils.trim(className);
     String key;
     if (StringUtils.isBlank(packageKey)) {
@@ -88,9 +85,6 @@ public class JavaFile extends Resource<JavaPackage> {
     if (key == null) {
       throw new IllegalArgumentException("Java filename can not be null");
     }
-    if (key.indexOf('$') >= 0) {
-      throw new IllegalArgumentException("Java inner classes are not supported : " + key);
-    }
     String realKey = StringUtils.trim(key);
     this.unitTest = unitTest;
 
index 33b597c7f68ebe6b28878d63aced7ef762028f4d..4605b64001755af454d79e1bbd2fb917289c55c6 100644 (file)
@@ -55,14 +55,11 @@ public class JavaFileTest {
     assertThat(javaClass.getParent().getKey(), is("org.foo.bar"));
   }
 
-  @Test(expected = IllegalArgumentException.class)
-  public void doNotAcceptInnerClasses() {
-    new JavaFile("org.foo.bar", "Hello$Bar");
-  }
-
-  @Test(expected = IllegalArgumentException.class)
-  public void doNotAcceptInnerClasses2() {
-    new JavaFile("org.foo.bar.Hello$Bar");
+  @Test
+  public void shouldAcceptFilenamesWithDollars() {
+    // $ is not used only for inner classes !!!
+    JavaFile javaFile = new JavaFile("org.foo.bar", "Hello$Bar");
+    assertThat(javaFile.getKey(), is("org.foo.bar.Hello$Bar"));
   }
 
   @Test