private void checkStringArrayType()

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


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