]> source.dussan.org Git - sonarqube.git/commitdiff
API: rename BlockUnit to Method
authorsimonbrandhof <simon.brandhof@gmail.com>
Mon, 14 Feb 2011 14:37:56 +0000 (15:37 +0100)
committersimonbrandhof <simon.brandhof@gmail.com>
Mon, 14 Feb 2011 14:38:25 +0000 (15:38 +0100)
sonar-java-api/src/main/java/org/sonar/java/api/JavaMethod.java
sonar-plugin-api/src/main/java/org/sonar/api/resources/BlockUnit.java [deleted file]
sonar-plugin-api/src/main/java/org/sonar/api/resources/Method.java [new file with mode: 0644]
sonar-plugin-api/src/test/java/org/sonar/api/resources/MethodTest.java [new file with mode: 0644]

index 65c478a49b7a80269c5a29cd814475a40e7eeb3b..6b1d9eebbd5f8d1601ec9060ae6b0d3407527a60 100644 (file)
@@ -25,7 +25,7 @@ import org.sonar.api.resources.*;
 /**
  * @since 2.6
  */
-public final class JavaMethod extends BlockUnit {
+public final class JavaMethod extends Method {
 
   public static final String QUALIFIER = Qualifiers.METHOD;
 
@@ -91,20 +91,6 @@ public final class JavaMethod extends BlockUnit {
     return null;
   }
 
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) return true;
-    if (o == null || getClass() != o.getClass()) return false;
-
-    JavaMethod that = (JavaMethod) o;
-    return getKey().equals(that.getKey());
-  }
-
-  @Override
-  public int hashCode() {
-    return getKey().hashCode();
-  }
-
   @Override
   public String toString() {
     return getKey();
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/resources/BlockUnit.java b/sonar-plugin-api/src/main/java/org/sonar/api/resources/BlockUnit.java
deleted file mode 100644 (file)
index 38cf6bc..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Sonar, open source software quality management tool.
- * Copyright (C) 2008-2011 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * Sonar is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * Sonar is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with Sonar; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02
- */
-package org.sonar.api.resources;
-
-public class BlockUnit extends Resource {
-
-  public static final String SCOPE = Scopes.BLOCK_UNIT;
-
-  protected String qualifier;
-  protected Language language;
-
-  protected BlockUnit(String key, String qualifier, Language language) {
-    setKey(key);
-    this.qualifier = qualifier;
-    this.language = language;
-  }
-
-  @Override
-  public String getName() {
-    return getKey();
-  }
-
-  @Override
-  public String getLongName() {
-    return getKey();
-  }
-
-  @Override
-  public String getDescription() {
-    return null;
-  }
-
-  @Override
-  public final Language getLanguage() {
-    return language;
-  }
-
-  @Override
-  public final String getScope() {
-    return SCOPE;
-  }
-
-  @Override
-  public final String getQualifier() {
-    return qualifier;
-  }
-
-  @Override
-  public Resource getParent() {
-    return null;
-  }
-
-  @Override
-  public final boolean matchFilePattern(String antPattern) {
-    return false;
-  }
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    if (!super.equals(o)) {
-      return false;
-    }
-    BlockUnit blockUnit = (BlockUnit) o;
-    if (!qualifier.equals(blockUnit.qualifier)) {
-      return false;
-    }
-    return getKey().equals(blockUnit.getKey());
-  }
-
-  @Override
-  public int hashCode() {
-    int result = super.hashCode();
-    result = 31 * result + getKey().hashCode();
-    result = 31 * result + qualifier.hashCode();
-    return result;
-  }
-
-  public static BlockUnit createMethod(String key, Language language) {
-    return new BlockUnit(key, Qualifiers.METHOD, language);
-  }
-}
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/resources/Method.java b/sonar-plugin-api/src/main/java/org/sonar/api/resources/Method.java
new file mode 100644 (file)
index 0000000..bda8e05
--- /dev/null
@@ -0,0 +1,104 @@
+/*
+ * Sonar, open source software quality management tool.
+ * Copyright (C) 2008-2011 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * Sonar is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * Sonar is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with Sonar; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02
+ */
+package org.sonar.api.resources;
+
+public class Method extends Resource {
+
+  public static final String SCOPE = Scopes.BLOCK_UNIT;
+
+  protected String qualifier;
+  protected Language language;
+
+  protected Method(String key, String qualifier, Language language) {
+    setKey(key);
+    this.qualifier = qualifier;
+    this.language = language;
+  }
+
+  @Override
+  public String getName() {
+    return getKey();
+  }
+
+  @Override
+  public String getLongName() {
+    return getKey();
+  }
+
+  @Override
+  public String getDescription() {
+    return null;
+  }
+
+  @Override
+  public final Language getLanguage() {
+    return language;
+  }
+
+  @Override
+  public final String getScope() {
+    return SCOPE;
+  }
+
+  @Override
+  public final String getQualifier() {
+    return qualifier;
+  }
+
+  @Override
+  public Resource getParent() {
+    return null;
+  }
+
+  @Override
+  public final boolean matchFilePattern(String antPattern) {
+    return false;
+  }
+
+  @Override
+  public final boolean equals(Object o) {
+    if (this == o) {
+      return true;
+    }
+    if (!(o instanceof Method)) {
+      return false;
+    }
+    Method method = (Method) o;
+    if (!getKey().equals(method.getKey())) {
+      return false;
+    }
+    if (!qualifier.equals(method.qualifier)) {
+      return false;
+    }
+    return true;
+  }
+
+  @Override
+  public final int hashCode() {
+    int result = super.hashCode();
+    result = 31 * result + qualifier.hashCode();
+    result = 31 * result + getKey().hashCode();
+    return result;
+  }
+
+  public static Method createMethod(String key, Language language) {
+    return new Method(key, Qualifiers.METHOD, language);
+  }
+}
diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/resources/MethodTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/resources/MethodTest.java
new file mode 100644 (file)
index 0000000..406e2f7
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Sonar, open source software quality management tool.
+ * Copyright (C) 2008-2011 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * Sonar is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * Sonar is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with Sonar; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02
+ */
+package org.sonar.api.resources;
+
+import org.junit.Test;
+
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertThat;
+
+public class MethodTest {
+
+  @Test
+  public void shouldAcceptOverridding() {
+    Method method = Method.createMethod("Foo.foo()", Java.INSTANCE);
+    Method fakeMethod = new FakeMethod("Foo.foo()");
+
+    assertThat(method.equals(fakeMethod), is(true));
+    assertThat(fakeMethod.equals(method), is(true));
+
+    assertThat(method.hashCode(), is(fakeMethod.hashCode()));
+    assertThat(fakeMethod.hashCode(), is(method.hashCode()));
+  }
+
+  static class FakeMethod extends Method {
+    protected FakeMethod(String key) {
+      super(key, Qualifiers.METHOD, Java.INSTANCE);
+    }
+  }
+}