aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-plugin-api/src
diff options
context:
space:
mode:
authorDavid Gageot <david@gageot.net>2012-09-24 15:26:55 +0200
committerDavid Gageot <david@gageot.net>2012-09-24 15:27:04 +0200
commita785cf6473a120423908d076a6c43a584d6b1a03 (patch)
tree30f49f0f7d075abe19624aaf1894c3d0a19b837e /sonar-plugin-api/src
parent186c158abed49d4413673332cd1892e296eabe2e (diff)
downloadsonarqube-a785cf6473a120423908d076a6c43a584d6b1a03.tar.gz
sonarqube-a785cf6473a120423908d076a6c43a584d6b1a03.zip
SONAR-3529 API: ability to define property sets. Fix server startup
Diffstat (limited to 'sonar-plugin-api/src')
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/config/PropertySet.java3
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/config/PropertySetDefinitions.java9
-rw-r--r--sonar-plugin-api/src/test/java/org/sonar/api/config/PropertySetDefinitionsTest.java1
3 files changed, 11 insertions, 2 deletions
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertySet.java b/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertySet.java
index fcc808eed91..ee13b940487 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertySet.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertySet.java
@@ -26,8 +26,9 @@ import java.util.List;
public class PropertySet {
private final List<PropertySetField> fields = Lists.newArrayList();
- public void add(PropertySetField field) {
+ public PropertySet add(PropertySetField field) {
fields.add(field);
+ return this;
}
public List<PropertySetField> getFields() {
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertySetDefinitions.java b/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertySetDefinitions.java
index 07c6075725b..511f3d909a6 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertySetDefinitions.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertySetDefinitions.java
@@ -19,12 +19,15 @@
*/
package org.sonar.api.config;
+import com.google.common.collect.ImmutableList;
import com.google.common.collect.Maps;
+import org.sonar.api.ServerExtension;
+import java.util.List;
import java.util.Map;
import java.util.NoSuchElementException;
-public class PropertySetDefinitions {
+public class PropertySetDefinitions implements ServerExtension {
private final Map<String, PropertySet> index = Maps.newHashMap();
public void register(String name, PropertySet propertySet) {
@@ -33,6 +36,10 @@ public class PropertySetDefinitions {
}
}
+ public List<PropertySet> findAll() {
+ return ImmutableList.copyOf(index.values());
+ }
+
public PropertySet findByName(String name) {
PropertySet propertySet = index.get(name);
if (propertySet == null) {
diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/config/PropertySetDefinitionsTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/config/PropertySetDefinitionsTest.java
index 5fcd1e21d22..cd0a3c39112 100644
--- a/sonar-plugin-api/src/test/java/org/sonar/api/config/PropertySetDefinitionsTest.java
+++ b/sonar-plugin-api/src/test/java/org/sonar/api/config/PropertySetDefinitionsTest.java
@@ -38,6 +38,7 @@ public class PropertySetDefinitionsTest {
assertThat(definitions.findByName("name")).isSameAs(set);
assertThat(definitions.findByName("other")).isSameAs(other);
+ assertThat(definitions.findAll()).containsOnly(set, other);
}
@Test(expected = IllegalStateException.class)