in reference/src/main/java/org/apache/sling/cms/reference/forms/impl/providers/UserProfileFormValueProvider.java [76:103]
private void loadKey(Map<String, Object> formData, String subpath, String key, User user) {
Object value = null;
try {
Value[] v = user.getProperty(subpath + "/" + key);
if (v.length > 1) {
value = Arrays.stream(v).map(t -> {
try {
return t.getString();
} catch (IllegalStateException | RepositoryException e) {
log.warn("Failed to get string value for " + key, e);
return null;
}
}).collect(Collectors.toList()).toArray(new String[0]);
} else if (v[0].getType() == PropertyType.LONG) {
value = v[0].getLong();
} else if (v[0].getType() == PropertyType.DOUBLE) {
value = v[0].getDouble();
} else if (v[0].getType() == PropertyType.DATE) {
value = v[0].getDate();
} else {
value = v[0].getString();
}
formData.put(key, value);
} catch (RepositoryException e) {
log.warn("Failed to get string value for " + key, e);
}
}