private void loadKey()

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);
        }
    }