aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-plugin-api
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@sonarsource.com>2014-10-08 10:00:19 +0200
committerJulien Lancelot <julien.lancelot@sonarsource.com>2014-10-08 10:00:19 +0200
commitc204a7295375a26ba83c33ccde0ba3121a3d388e (patch)
tree3bf9d23ab76a18aa949adec7a4728dbd16c5209d /sonar-plugin-api
parentd3a51c25cb09f85ce0bfe636787931229c0d3bb9 (diff)
parent211c40ec4a16dcd07b033aab9063d93d8b6c090f (diff)
downloadsonarqube-c204a7295375a26ba83c33ccde0ba3121a3d388e.tar.gz
sonarqube-c204a7295375a26ba83c33ccde0ba3121a3d388e.zip
Merge from branch 4.5
Diffstat (limited to 'sonar-plugin-api')
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/Checks.java7
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/Rules.java10
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/database/DatabaseSession.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/package-info.java3
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinition.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinitionAnnotationLoader.java1
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinitionXmlLoader.java1
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/utils/KeyValueFormat.java6
8 files changed, 23 insertions, 9 deletions
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/Checks.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/Checks.java
index ea8d36749eb..ab8ff4fbdec 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/Checks.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/Checks.java
@@ -41,9 +41,9 @@ import java.util.Map;
* <p/>
* Example of check class:
* <pre>
- * @Rule(key = "S001")
+ * {@literal @}org.sonar.check.Rule(key = "S001")
* public class CheckS001 {
- * @RuleProperty
+ * {@literal @}org.sonar.check.RuleProperty
* private String pattern;
*
* public String getPattern() {
@@ -69,8 +69,7 @@ import java.util.Map;
*
* // Checks are used to detect issues on source code
*
- * // checks.ruleKey(obj) can be used to create the detected
- * // issues.
+ * // checks.ruleKey(obj) can be used to create the related issues
* }
* }
* </pre>
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/Rules.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/Rules.java
index 22d915c20fc..7690bd56c94 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/Rules.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/Rules.java
@@ -27,15 +27,25 @@ import javax.annotation.CheckForNull;
import java.util.Collection;
/**
+ * Searches for rules. This component is available by dependency injection. It must not
+ * be extended by plugins.
+ *
* @since 4.2
*/
public interface Rules extends BatchComponent {
+ /**
+ * Get a rule by its key. Returns <code>null</code> if rule does not exist.
+ */
@CheckForNull
Rule find(RuleKey key);
Collection<Rule> findAll();
+ /**
+ * Get the rules of the given repository. Returns an empty collection if the
+ * repository does not exist.
+ */
Collection<Rule> findByRepository(String repository);
}
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/database/DatabaseSession.java b/sonar-plugin-api/src/main/java/org/sonar/api/database/DatabaseSession.java
index b9c12ac320e..74bd4939f42 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/database/DatabaseSession.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/database/DatabaseSession.java
@@ -26,7 +26,7 @@ import javax.persistence.Query;
import java.util.List;
/**
- * This component should not accessible from plugin API
+ * This component should not be accessed by plugins. Database is not an API.
*
* @since 1.10
*/
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/package-info.java b/sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/package-info.java
index b28c437c37f..e4820ed925b 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/package-info.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/scan/filesystem/package-info.java
@@ -17,6 +17,9 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
+/**
+ * Replaced by {@link org.sonar.api.batch.fs}
+ */
@ParametersAreNonnullByDefault
package org.sonar.api.scan.filesystem;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinition.java b/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinition.java
index aae2be99ea3..ac9e7c34fa3 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinition.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinition.java
@@ -41,7 +41,7 @@ import java.util.Map;
import java.util.Set;
/**
- * Defines the coding rules. For example the Java Findbugs plugin provides an implementation of
+ * Defines some coding rules of the same repository. For example the Java Findbugs plugin provides an implementation of
* this extension point in order to define the rules that it supports.
* <p/>
* This interface replaces the deprecated class org.sonar.api.rules.RuleRepository.
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinitionAnnotationLoader.java b/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinitionAnnotationLoader.java
index 5c455ebdbf6..0c2a08f3dcc 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinitionAnnotationLoader.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinitionAnnotationLoader.java
@@ -39,6 +39,7 @@ import java.util.List;
* Read definitions of rules based on the annotations provided by sonar-check-api. It is used
* to feed {@link RulesDefinition}.
*
+ * @see org.sonar.api.server.rule.RulesDefinition
* @since 4.3
*/
public class RulesDefinitionAnnotationLoader {
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinitionXmlLoader.java b/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinitionXmlLoader.java
index 240420d1ee2..72e2b545f06 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinitionXmlLoader.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinitionXmlLoader.java
@@ -77,6 +77,7 @@ import java.util.List;
* &lt;/rules&gt;
* </pre>
*
+ * @see org.sonar.api.server.rule.RulesDefinition
* @since 4.3
*/
public class RulesDefinitionXmlLoader implements ServerComponent {
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/utils/KeyValueFormat.java b/sonar-plugin-api/src/main/java/org/sonar/api/utils/KeyValueFormat.java
index dae32cfc019..f4e5cb7a889 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/utils/KeyValueFormat.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/utils/KeyValueFormat.java
@@ -218,9 +218,9 @@ public final class KeyValueFormat {
if (data != null) {
String[] pairs = StringUtils.split(data, PAIR_SEPARATOR);
for (String pair : pairs) {
- String[] keyValue = StringUtils.split(pair, FIELD_SEPARATOR);
- String key = keyValue[0];
- String value = keyValue.length == 2 ? keyValue[1] : "";
+ int indexOfEqualSign = pair.indexOf(FIELD_SEPARATOR);
+ String key = pair.substring(0, indexOfEqualSign);
+ String value = pair.substring(indexOfEqualSign + 1);
map.put(keyConverter.parse(key), valueConverter.parse(value));
}
}