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() {
*/
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) {
}
}
+ public List<PropertySet> findAll() {
+ return ImmutableList.copyOf(index.values());
+ }
+
public PropertySet findByName(String name) {
PropertySet propertySet = index.get(name);
if (propertySet == null) {
assertThat(definitions.findByName("name")).isSameAs(set);
assertThat(definitions.findByName("other")).isSameAs(other);
+ assertThat(definitions.findAll()).containsOnly(set, other);
}
@Test(expected = IllegalStateException.class)
import com.google.common.collect.Lists;
import org.slf4j.LoggerFactory;
import org.sonar.api.CoreProperties;
-import org.sonar.api.config.License;
-import org.sonar.api.config.PropertyDefinitions;
-import org.sonar.api.config.Settings;
+import org.sonar.api.config.*;
import org.sonar.api.platform.ComponentContainer;
import org.sonar.api.platform.NewUserHandler;
import org.sonar.api.platform.PluginMetadata;
.build());
}
}
+
+ public List<PropertySet> listPropertySets() {
+ return get(PropertySetDefinitions.class).findAll();
+ }
}