]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-4501 Moved Category & SubCategory to internal package
authorJulien HENRY <julien.henry@sonarsource.com>
Tue, 16 Jul 2013 16:04:14 +0000 (18:04 +0200)
committerJulien HENRY <julien.henry@sonarsource.com>
Tue, 16 Jul 2013 16:05:00 +0000 (18:05 +0200)
sonar-plugin-api/src/main/java/org/sonar/api/config/Category.java [deleted file]
sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyDefinitions.java
sonar-plugin-api/src/main/java/org/sonar/api/config/SubCategory.java [deleted file]
sonar-plugin-api/src/main/java/org/sonar/api/config/internal/Category.java [new file with mode: 0644]
sonar-plugin-api/src/main/java/org/sonar/api/config/internal/SubCategory.java [new file with mode: 0644]
sonar-plugin-api/src/main/java/org/sonar/api/config/internal/package-info.java [new file with mode: 0644]
sonar-plugin-api/src/test/java/org/sonar/api/config/CategoryTest.java [deleted file]
sonar-plugin-api/src/test/java/org/sonar/api/config/PropertyDefinitionsTest.java
sonar-plugin-api/src/test/java/org/sonar/api/config/internal/CategoryTest.java [new file with mode: 0644]
sonar-server/src/main/webapp/WEB-INF/app/controllers/application_controller.rb

diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/config/Category.java b/sonar-plugin-api/src/main/java/org/sonar/api/config/Category.java
deleted file mode 100644 (file)
index ddb8ff3..0000000
+++ /dev/null
@@ -1,73 +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.config;
-
-import org.apache.commons.lang.StringUtils;
-
-import java.util.Locale;
-
-/**
- * @since 3.7
- */
-public class Category {
-
-  private final String originalKey;
-  private final boolean special;
-
-  public Category(String originalKey) {
-    this(originalKey, false);
-  }
-
-  Category(String originalKey, boolean special) {
-    this.originalKey = originalKey;
-    this.special = special;
-  }
-
-  public String originalKey() {
-    return originalKey;
-  }
-
-  public String key() {
-    return StringUtils.lowerCase(originalKey, Locale.ENGLISH);
-  }
-
-  public boolean isSpecial() {
-    return special;
-  }
-
-  @Override
-  public int hashCode() {
-    return key().hashCode();
-  }
-
-  @Override
-  public boolean equals(Object obj) {
-    if (!(obj instanceof Category)) {
-      return false;
-    }
-    return StringUtils.equalsIgnoreCase(((Category) obj).originalKey, this.originalKey);
-  }
-
-  @Override
-  public String toString() {
-    return this.originalKey;
-  }
-
-}
index 94edae487ffe1099035cc24d776dc99124be098b..c27f1a0babd0bb6f544315f0d1d4fe5ff640bc22 100644 (file)
@@ -19,6 +19,9 @@
  */
 package org.sonar.api.config;
 
+import org.sonar.api.config.internal.SubCategory;
+
+import org.sonar.api.config.internal.Category;
 import com.google.common.base.Strings;
 import com.google.common.collect.Maps;
 import org.apache.commons.lang.StringUtils;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/config/SubCategory.java b/sonar-plugin-api/src/main/java/org/sonar/api/config/SubCategory.java
deleted file mode 100644 (file)
index cd90b20..0000000
+++ /dev/null
@@ -1,35 +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.config;
-
-/**
- * @since 3.7
- */
-public class SubCategory extends Category {
-
-  public SubCategory(String originalKey) {
-    super(originalKey);
-  }
-
-  SubCategory(String originalKey, boolean special) {
-    super(originalKey, special);
-  }
-
-}
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/config/internal/Category.java b/sonar-plugin-api/src/main/java/org/sonar/api/config/internal/Category.java
new file mode 100644 (file)
index 0000000..ff7b958
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * 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.config.internal;
+
+import org.apache.commons.lang.StringUtils;
+
+import java.util.Locale;
+
+/**
+ * @since 3.7
+ */
+public class Category {
+
+  private final String originalKey;
+  private final boolean special;
+
+  public Category(String originalKey) {
+    this(originalKey, false);
+  }
+
+  public Category(String originalKey, boolean special) {
+    this.originalKey = originalKey;
+    this.special = special;
+  }
+
+  public String originalKey() {
+    return originalKey;
+  }
+
+  public String key() {
+    return StringUtils.lowerCase(originalKey, Locale.ENGLISH);
+  }
+
+  public boolean isSpecial() {
+    return special;
+  }
+
+  @Override
+  public int hashCode() {
+    return key().hashCode();
+  }
+
+  @Override
+  public boolean equals(Object obj) {
+    if (!(obj instanceof Category)) {
+      return false;
+    }
+    return StringUtils.equalsIgnoreCase(((Category) obj).originalKey, this.originalKey);
+  }
+
+  @Override
+  public String toString() {
+    return this.originalKey;
+  }
+
+}
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/config/internal/SubCategory.java b/sonar-plugin-api/src/main/java/org/sonar/api/config/internal/SubCategory.java
new file mode 100644 (file)
index 0000000..04cf274
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+ * 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.config.internal;
+
+
+/**
+ * @since 3.7
+ */
+public class SubCategory extends Category {
+
+  public SubCategory(String originalKey) {
+    super(originalKey);
+  }
+
+  public SubCategory(String originalKey, boolean special) {
+    super(originalKey, special);
+  }
+
+}
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/config/internal/package-info.java b/sonar-plugin-api/src/main/java/org/sonar/api/config/internal/package-info.java
new file mode 100644 (file)
index 0000000..1399394
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+ * 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.
+ */
+@ParametersAreNonnullByDefault
+package org.sonar.api.config.internal;
+
+import javax.annotation.ParametersAreNonnullByDefault;
\ No newline at end of file
diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/config/CategoryTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/config/CategoryTest.java
deleted file mode 100644 (file)
index e8ee207..0000000
+++ /dev/null
@@ -1,37 +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.config;
-
-import org.junit.Test;
-
-import static org.fest.assertions.Assertions.assertThat;
-
-public class CategoryTest {
-
-  @Test
-  public void category_key_is_case_insentive() {
-    assertThat(new Category("Licenses")).isEqualTo(new Category("licenses"));
-  }
-
-  @Test
-  public void should_preserve_original_key() {
-    assertThat(new Category("Licenses").originalKey()).isEqualTo("Licenses");
-  }
-}
index 9bc2eace66b3f5bdeff2afc87c1fd9f721fbfd89..dacbb9106dcad49a270595755ee25fdbb814bb85 100644 (file)
@@ -19,6 +19,9 @@
  */
 package org.sonar.api.config;
 
+import org.sonar.api.config.internal.SubCategory;
+
+import org.sonar.api.config.internal.Category;
 import org.junit.Test;
 import org.sonar.api.Properties;
 import org.sonar.api.Property;
diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/config/internal/CategoryTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/config/internal/CategoryTest.java
new file mode 100644 (file)
index 0000000..7ac2231
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+ * 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.config.internal;
+
+import org.junit.Test;
+
+import static org.fest.assertions.Assertions.assertThat;
+
+public class CategoryTest {
+
+  @Test
+  public void category_key_is_case_insentive() {
+    assertThat(new Category("Licenses")).isEqualTo(new Category("licenses"));
+
+    // Just to raise coverage
+    assertThat(new Category("Licenses")).isNotEqualTo(new SubCategory("foo"));
+  }
+
+  @Test
+  public void should_preserve_original_key() {
+    assertThat(new Category("Licenses").originalKey()).isEqualTo("Licenses");
+  }
+}
index 13032ed779ad1c76dbd6bc8db84ebf6b34fb7cab..869c6b61458eb52c483b9ecac552fbaa14083fca 100644 (file)
@@ -282,7 +282,7 @@ class ApplicationController < ActionController::Base
       default_category = @categories.empty? ? nil : @categories[0]
       @category = default_category
     else
-      @category = @categories.select {|c| c == Java::OrgSonarApiConfig::Category.new(params[:category])}.first
+      @category = @categories.select {|c| c == Java::OrgSonarApiConfigInternal::Category.new(params[:category])}.first
       not_found('category') if @category.nil?
     end
 
@@ -296,7 +296,7 @@ class ApplicationController < ActionController::Base
                   ((@subcategories_per_categories[@category].include? @category) ? @category : @subcategories_per_categories[@category][0])
         @subcategory = default_subcategory
       else
-        @subcategory = @subcategories_per_categories[@category].select {|s| s == Java::OrgSonarApiConfig::SubCategory.new(params[:subcategory])}.first
+        @subcategory = @subcategories_per_categories[@category].select {|s| s == Java::OrgSonarApiConfigInternal::SubCategory.new(params[:subcategory])}.first
         not_found('subcategory') if @subcategory.nil?
       end