make default for 'splitBy' configurable

This commit is contained in:
2019-11-10 16:33:37 +01:00
parent 8d690ff0e7
commit d9b2327f35
7 changed files with 25 additions and 12 deletions

View File

@@ -8,7 +8,6 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;
@@ -84,6 +83,9 @@ public class PdbController implements HardcodedValues, PropertyKeys {
@Value("${"+DEFAULTS_GROUP_BY+":}")
private String defaultsGroupBy;
@Value("${"+DEFAULTS_SPLIT_BY+":}")
private String defaultsSplitBy;
public PdbController(final PerformanceDb db, final Plotter plotter) {
this.db = db;
@@ -305,9 +307,9 @@ public class PdbController implements HardcodedValues, PropertyKeys {
)
@ResponseBody
public FilterDefaults getFilterDefaults() {
Set<String> groupBy = defaultsGroupBy.isBlank() ? Set.of() : Set.of(defaultsGroupBy.split("\\s*,\\s*"));
List<String> fields = fields();
return new FilterDefaults(fields, groupBy);
final Set<String> groupBy = defaultsGroupBy.isBlank() ? Set.of() : Set.of(defaultsGroupBy.split("\\s*,\\s*"));
final List<String> fields = fields();
return new FilterDefaults(fields, groupBy, defaultsSplitBy);
}
private List<AutocompleteProposal> toAutocompleteProposals(final List<Proposal> proposals) {

View File

@@ -21,4 +21,6 @@ public interface PropertyKeys {
String DEFAULTS_QUERY_EXAMPLES = "defaults.query.examples";
String DEFAULTS_GROUP_BY = "defaults.groupBy";
String DEFAULTS_SPLIT_BY = "defaults.splitBy";
}

View File

@@ -10,9 +10,12 @@ public class FilterDefaults {
private List<String> fields;
public FilterDefaults(final List<String> fields, final Set<String> groupBy) {
private String splitBy;
public FilterDefaults(final List<String> fields, final Set<String> groupBy, final String splitBy) {
this.fields = new ArrayList<String>(fields);
this.groupBy = new HashSet<String>(groupBy);
this.splitBy = splitBy;
}
public Set<String> getGroupBy() {
@@ -30,4 +33,12 @@ public class FilterDefaults {
public void setFields(List<String> fields) {
this.fields = new ArrayList<String>(fields);
}
public String getSplitBy() {
return splitBy;
}
public void setSplitBy(String splitBy) {
this.splitBy = splitBy;
}
}