diff options
author | David Gageot <david@gageot.net> | 2012-09-24 15:26:55 +0200 |
---|---|---|
committer | David Gageot <david@gageot.net> | 2012-09-24 15:27:04 +0200 |
commit | a785cf6473a120423908d076a6c43a584d6b1a03 (patch) | |
tree | 30f49f0f7d075abe19624aaf1894c3d0a19b837e /sonar-plugin-api/src | |
parent | 186c158abed49d4413673332cd1892e296eabe2e (diff) | |
download | sonarqube-a785cf6473a120423908d076a6c43a584d6b1a03.tar.gz sonarqube-a785cf6473a120423908d076a6c43a584d6b1a03.zip |
SONAR-3529 API: ability to define property sets. Fix server startup
Diffstat (limited to 'sonar-plugin-api/src')
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) |