private void checkStringMapType()

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


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