From: Simon Brandhof Date: Tue, 4 Feb 2014 16:59:59 +0000 (+0100) Subject: SONAR-926 move org.sonar.api.resources.Method to sonar-deprecated X-Git-Tag: 4.2~260 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=a5c12366c3abe412b35682d1f406544dac36711b;p=sonarqube.git SONAR-926 move org.sonar.api.resources.Method to sonar-deprecated --- diff --git a/sonar-deprecated/src/main/java/org/sonar/api/resources/Method.java b/sonar-deprecated/src/main/java/org/sonar/api/resources/Method.java new file mode 100644 index 00000000000..90b82792130 --- /dev/null +++ b/sonar-deprecated/src/main/java/org/sonar/api/resources/Method.java @@ -0,0 +1,108 @@ +/* + * SonarQube, open source software quality management tool. + * Copyright (C) 2008-2013 SonarSource + * mailto:contact AT sonarsource DOT com + * + * SonarQube 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. + * + * SonarQube 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 this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ +package org.sonar.api.resources; + +/** + * @deprecated in 4.2. Only file system components are managed by SQ core (files/directories). + */ +@Deprecated +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-deprecated/src/test/java/org/sonar/api/resources/MethodTest.java b/sonar-deprecated/src/test/java/org/sonar/api/resources/MethodTest.java new file mode 100644 index 00000000000..f9e18d71e6d --- /dev/null +++ b/sonar-deprecated/src/test/java/org/sonar/api/resources/MethodTest.java @@ -0,0 +1,46 @@ +/* + * SonarQube, open source software quality management tool. + * Copyright (C) 2008-2013 SonarSource + * mailto:contact AT sonarsource DOT com + * + * SonarQube 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. + * + * SonarQube 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 this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ +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); + } + } +} diff --git a/sonar-java-api/pom.xml b/sonar-java-api/pom.xml index ff02cbaaeb2..0e0e16dfdd8 100644 --- a/sonar-java-api/pom.xml +++ b/sonar-java-api/pom.xml @@ -13,6 +13,10 @@ org.codehaus.sonar sonar-plugin-api + + org.codehaus.sonar + sonar-deprecated + diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/resources/Language.java b/sonar-plugin-api/src/main/java/org/sonar/api/resources/Language.java index 54c6e68ddda..0a55c474719 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/resources/Language.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/resources/Language.java @@ -25,6 +25,8 @@ import org.sonar.api.batch.InstantiationStrategy; /** * The extension point to define a new language + *

+ * Instantiation strategy changed to PER_BATCH in version 4.2. * * @since 1.10 */ 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 deleted file mode 100644 index d615873f08c..00000000000 --- a/sonar-plugin-api/src/main/java/org/sonar/api/resources/Method.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * SonarQube, open source software quality management tool. - * Copyright (C) 2008-2013 SonarSource - * mailto:contact AT sonarsource DOT com - * - * SonarQube 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. - * - * SonarQube 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 this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -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 deleted file mode 100644 index f9e18d71e6d..00000000000 --- a/sonar-plugin-api/src/test/java/org/sonar/api/resources/MethodTest.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * SonarQube, open source software quality management tool. - * Copyright (C) 2008-2013 SonarSource - * mailto:contact AT sonarsource DOT com - * - * SonarQube 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. - * - * SonarQube 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 this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -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); - } - } -}