private void validatePropertyNames()

in src/main/java/org/apache/commons/dbcp2/BasicDataSourceFactory.java [447:475]


    private void validatePropertyNames(final Reference ref, final Name name, final List<String> warnMessages,
            final List<String> infoMessages) {
        final String nameString = name != null ? "Name = " + name.toString() + " " : "";
        NUPROP_WARNTEXT.forEach((propertyName, value) -> {
            final RefAddr ra = ref.get(propertyName);
            if (ra != null && !ALL_PROPERTY_NAMES.contains(ra.getType())) {
                final StringBuilder stringBuilder = new StringBuilder(nameString);
                final String propertyValue = Objects.toString(ra.getContent(), null);
                stringBuilder.append(value).append(" You have set value of \"").append(propertyValue).append("\" for \"").append(propertyName)
                        .append("\" property, which is being ignored.");
                warnMessages.add(stringBuilder.toString());
            }
        });

        final Enumeration<RefAddr> allRefAddrs = ref.getAll();
        while (allRefAddrs.hasMoreElements()) {
            final RefAddr ra = allRefAddrs.nextElement();
            final String propertyName = ra.getType();
            // If property name is not in the properties list, we haven't warned on it
            // and it is not in the "silent" list, tell user we are ignoring it.
            if (!(ALL_PROPERTY_NAMES.contains(propertyName) || NUPROP_WARNTEXT.containsKey(propertyName) || SILENT_PROPERTIES.contains(propertyName))) {
                final String propertyValue = Objects.toString(ra.getContent(), null);
                final StringBuilder stringBuilder = new StringBuilder(nameString);
                stringBuilder.append("Ignoring unknown property: ").append("value of \"").append(propertyValue).append("\" for \"").append(propertyName)
                        .append("\" property");
                infoMessages.add(stringBuilder.toString());
            }
        }
    }