Skip to content

Commit

Permalink
Supply position parameter to remaining configuration fields (#7874)
Browse files Browse the repository at this point in the history
* Supply position parameter to remaining configuration fields

PR #7504 added support to specifiy an explicit position on configuration
fields.
This adds constructors to the remaning configuration fields
that were lacking this option: DropdownField, ListField and NumberField.

* Reduce some duplication

Co-authored-by: Bernd Ahlers <bernd@graylog.com>
(cherry picked from commit 1bccb32)
  • Loading branch information
mpfz0r committed Apr 16, 2020
1 parent 71ffd8a commit f39aa01
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public AbstractConfigurationField(String field_type, String name, String humanNa
this.position = DEFAULT_POSITION;
}
public AbstractConfigurationField(String field_type, String name, String humanName, String description, ConfigurationField.Optional optional1, int position) {
this(field_type, name, humanName,description,optional1);
this(field_type, name, humanName, description, optional1);
this.position = position;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,11 @@ public DropdownField(String name, String humanName, String defaultValue, Map<Str
this.values = values;
}

public DropdownField(String name, String humanName, String defaultValue, Map<String, String> values, String description, Optional isOptional, int position) {
this(name, humanName, defaultValue, values, description, isOptional);
this.position = position;
}

@Override
public Object getDefaultValue() {
return defaultValue;
Expand All @@ -66,7 +71,7 @@ public static class ValueTemplates {
public static Map<String, String> timeUnits() {
Map<String, String> units = Maps.newHashMap();

for(TimeUnit unit : TimeUnit.values()) {
for (TimeUnit unit : TimeUnit.values()) {
String human = unit.toString().toLowerCase(Locale.ENGLISH);
units.put(unit.toString(), Character.toUpperCase(human.charAt(0)) + human.substring(1));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,11 @@ public ListField(String name, String humanName, List<String> defaultValue, Map<S
.collect(Collectors.toList());
}

public ListField(String name, String humanName, List<String> defaultValue, Map<String, String> values, String description, Optional isOptional, int position, Attribute... attributes) {
this(name, humanName, defaultValue, values, description, isOptional, attributes);
this.position = position;
}

@Override
public Object getDefaultValue() {
return defaultValue;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,16 +52,25 @@ public NumberField(String name, String humanName, double defaultValue, String de
}

public NumberField(String name, String humanName, int defaultValue, String description, Optional isOptional, Attribute... attributes) {
this(name, humanName, (Number) defaultValue, description, isOptional, attributes);
this(name, humanName, (Number) defaultValue, description, isOptional, ConfigurationField.DEFAULT_POSITION, attributes);
}

public NumberField(String name, String humanName, double defaultValue, String description, Optional isOptional, Attribute... attributes) {
this(name, humanName, (Number) defaultValue, description, isOptional, attributes);
this(name, humanName, (Number) defaultValue, description, isOptional, ConfigurationField.DEFAULT_POSITION, attributes);
}

private NumberField(String name, String humanName, Number defaultValue, String description, Optional isOptional, Attribute... attributes) {
public NumberField(String name, String humanName, int defaultValue, String description, Optional isOptional, int position, Attribute... attributes) {
this(name, humanName, (Number) defaultValue, description, isOptional, position, attributes);
}

public NumberField(String name, String humanName, double defaultValue, String description, Optional isOptional, int position, Attribute... attributes) {
this(name, humanName, (Number) defaultValue, description, isOptional, position, attributes);
}

private NumberField(String name, String humanName, Number defaultValue, String description, Optional isOptional, int position, Attribute... attributes) {
super(FIELD_TYPE, name, humanName, description, isOptional);
this.defaultValue = defaultValue;
this.position = position;

this.attributes = Lists.newArrayList();
if (attributes != null) {
Expand Down

0 comments on commit f39aa01

Please sign in to comment.