in src/main/java/org/apache/sling/settings/impl/SlingSettingsServiceImpl.java [156:185]
private List<Options> handleOptions(final Set<String> modesSet, final String propOptions) {
final List<Options> optionsList = new ArrayList<Options>();
if (propOptions != null && propOptions.trim().length() > 0) {
final String[] options = propOptions.trim().split("\\|");
for (final String opt : options) {
String selected = null;
final String[] modes = opt.trim().split(",");
for (int i = 0; i < modes.length; i++) {
modes[i] = modes[i].trim();
if (selected != null) {
modesSet.remove(modes[i]);
} else {
if (modesSet.contains(modes[i])) {
selected = modes[i];
}
}
}
if (selected == null) {
selected = modes[0];
modesSet.add(modes[0]);
}
final Options o = new Options();
o.selected = selected;
o.modes = modes;
optionsList.add(o);
}
}
return optionsList;
}