private void checkStringMapType()

in src/main/java/org/apache/sling/feature/analyser/task/impl/CheckApisJarsProperties.java [186:205]


    private void checkStringMapType(final AnalyserTaskContext ctx, final JsonObject obj, final String propName) {
        if (obj.containsKey(propName)) {
            final JsonValue val = obj.get(propName);
            if (val.getValueType() != ValueType.OBJECT) {
                ctx.reportExtensionError(
                        EXTENSION_NAME, "property ".concat(propName).concat(" is not of type Object"));
            } else {
                boolean hasNonStringValue = false;
                for (final JsonValue v : val.asJsonObject().values()) {
                    if (v.getValueType() != ValueType.STRING) {
                        hasNonStringValue = true;
                    }
                }
                if (hasNonStringValue) {
                    ctx.reportExtensionError(
                            EXTENSION_NAME, "object ".concat(propName).concat(" contains non string values"));
                }
            }
        }
    }